[ pwn 学习 ] CTFshow-pwn1
2026-08-22 20:36:38
pwn1
010打开附件 是ELF文件
在虚拟机运行checksec pwn1
1 | ctfshow@ubuntu:~/Desktop/pwn1wjj$ checksec pwn1 |
checksec查看二进制启用了哪些安全机制。判断该走什么利用方式。
- Arch: amd64-64-little
表明是 64 位小端序程序。决定了地址是 8 字节长(而不是 32 位的 4 字节)数据排列顺序是低位在前
- RELRO: Full RELRO
可以看到是64位仅关闭Canary保护
- NX: 不能直接执行栈上的 shellcode,通常走 ROP/ret2libc。
- Canary: 有金丝雀,溢出必须先泄露或绕过。
- PIE: 程序地址随机化,需要先泄露地址。
- RELRO: 影响 GOT 能否被写,用于判断能不能改 GOT
打开附件后反编译可直接看到关键命令:
cat /ctfshow_flag- 以及提示语:
You only need to connect to the remote address with NC to get the flag!
表明连接后不用操作,程序会直接执行cat读取flag

checksec仅用于了解保护情况,但本题不需要利用链,发现system("cat /ctfshow_flag")后直接连接即可
直接在虚拟机nc连接即可获得flag
