用途:面向已具备存在内存破坏漏洞的原生程序或远程服务的 CTF 二进制漏洞利用(pwn)挑战,作为技术与命令速查参考。
主要能力:按主题整理多种利用思路,包括栈/全局缓冲区溢出、ret2win、canary 泄露与爆破、ROP 链(ret2libc、syscall ROP、ret2csu、栈迁移、SROP、ret2dlresolve)、格式化字符串(泄露、GOT 覆写、__free_hook、.rela.plt 修补)、堆利用(House of Apple 2、House of Einherjar、unsafe unlink、tcache 攻击、musl 堆、FSOP/_IO_FILE 劫持)、沙箱与受限环境逃逸、以及 Linux 内核利用与 KASLR/KPTI/SMEP/SMAP 等防护绕过。
安装与准备:Python 依赖可用 pip install "pwntools==4.15.0" "ROPgadget==7.7" "ropper==1.13.13",或用 uv venv && uv pip install 同版本;Linux 可 apt install gdb binutils strace ltrace qemu-system-x86;跨架构可选 qemu-user、gdb-multiarch 等;macOS 可用 brew install gdb binutils qemu;Ruby 侧 gem install one_gadget seccomp-tools。
常用命令:checksec --file=binary、file binary、readelf -h binary;ROPgadget --binary binary | grep "pop rdi";ropper -f binary --search "pop rdi";one_gadget /lib/x86_64-linux-gnu/libc.so.6;gdb -q binary -ex 'start' -ex 'checksec';偏移用 cyclic 200 与 cyclic_find(0x61616168)。
适用场景:本地或远程 pwn 题、堆菜单题、内核模块题,以及需要按防护组合(PIE、RELRO、NX、Canary)选择利用路径的情形。
限制与注意:上述为技术集合,实际可行性与步骤取决于目标程序的具体防护与漏洞;资料未提供收费、价格或效果保证等信息。若不理解程序行为应转向逆向,若为受限 shell、编码谜题或沙箱语言题应转向杂项,若依赖 Web 端点或会话问题应转向 Web,若需先破解密码学原语应转向密码学。