我正在为一个易受攻击的程序编写一个 rop 链(堆栈溢出,NX 和 ASLR 已打开)。
我通过观察 gdb peda 上的堆栈指针来跟踪我的小工具的执行。它运行良好,除非遇到小工具mov[eax], edx; ret
。这个小工具被执行了,但是之后有一个push ebx
,即使我没有在我的 ROP 链中放入任何类似的小工具。最后我的利用不起作用。
我已经尝试过使用不同的寄存器来执行这条指令,但后面总是有push ebx
,我不知道为什么。
有人会有想法吗?
在 NX 和 ASLR 启用条件下,程序并不总是容易受到攻击。
在大多数情况下,您找不到足够的小工具来产生您的 ROP 漏洞利用。
也许你可以看看ROPgadget。
这个工具可以帮助你找到有用的小工具来组装 ROP 漏洞利用。