开发技术POP RET不起作用

时间:2014-04-02 14:03:39

标签: security exploit shellcode

我是一台使用Windows XP Professional SP3 x86西班牙语的虚拟机,而且我已禁用DEP。

好吧,我正在执行漏洞利用POPPOPRET_JMPESP.pl进行" Easy RM to MP3 Converter" (是的,教程Corelan的程序),并没有工作,所以我做了2次测试:

第一个,也是成功的,取代跳转到shellcode开头的JMP ESP,用于" CCCC" (\ x43 \ x43 \ x43 \ x43),并尝试执行此方向时产生错误。 Source Screenshot

第二,向JMP ESP提供了一个有效的方向和一个包含许多断点的shellcode。这里由于程序试图执行的方向而产生错误,并且JMP ESP NO仅指向放置的断点。 Source Screenshot

原始筹码为:


缓冲区将填充As


RET ADDRESSS将替换为POP POP RET的方向


4字节的垃圾将被替换为" XXXX"


这里指出ESP执行POP POP RET指令之前,以及  它将被4个NOP取代


4个字节的垃圾,它将被4个NOP取代


ESP将指向的4个字节的垃圾,和  将被替换为JMP ESP,这将占用堆栈  我们提出的RET指令


这是shellcode的开头,就是在哪里  在执行时指出JMP ESP


1 个答案:

答案 0 :(得分:0)

您是否正确使用shellcode?

如果是,请检查您的shellcode是否有任何奇怪的字符。该特定程序将停止以NULL字符(0x00)以及其他几个字符复制输入。最简单的方法是找到shellcode中正确复制的最后一个字符,然后排除后面的字符。您可以使用metasploit生成不包含特定字符的shellcode。

如果不是,请检查您的偏移和填充。