题源:基本 ROP - CTF Wiki (ctf-wiki.org) 的ret2syscall
①:老套路,先检查。
没有RXW可执行段。而且NX保护打开了。

②:拉到IDA反汇编。
没有system,也没有可直接利用的后门函数,但是有bin/sh。什么也没有。而且段都是不可执行段,也不能直接写入整个shellcode段。
但是还有gets函数,天无绝人之路,又是栈溢出的类型。看来得自己拿碎片构造rop了(得存在所有的碎片才行)。
(这个过程起始就类似于堆积木:积木碎片在房子的各个角落,我们得找到所有的积木碎片,放在这里就是在整个程序中找到可以组合成调用execve('/bin/sh")函数的碎片。)
本文介绍了如何利用ROP技术解决栈溢出问题,详细讲述了从检查程序特性、使用IDA反汇编、搜索gadgets到计算栈溢出地址和编写exploit的过程。重点在于如何寻找和组合gadgets来模拟execve系统调用,强调了gadget选择、参数顺序和payload构造的注意事项。
订阅专栏 解锁全文
1269

被折叠的 条评论
为什么被折叠?



