【发布时间】:2014-04-02 14:03:39
【问题描述】:
我有一台装有 Windows XP Professional SP3 x86 西班牙语的虚拟机,并且我禁用了 DEP。
好吧,我正在执行“Easy RM to MP3 Converter”的漏洞利用 POPPOPRET_JMPESP.pl(是的,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”
这里在执行 POP POP RET 指令之前指向 ESP,并且 它将被 4 个 NOP 替换
4 个字节的垃圾,它将被 4 个 NOP 取代
ESP 将指向的 4 个字节的垃圾,以及 将被替换为 JMP ESP,这将占用堆栈 我们放的 RET 指令
这里是 shellcode 的开头,是哪里 执行时指向 JMP ESP
【问题讨论】:
标签: security exploit shellcode