Zum Inhalt springen

„Apache Killer“ vulnerability check

Wie ihr sicher mitbekommen habt, gibt es ein weniger nettes 0-Day Exploit, das den Apache lahm legen kann. Das Exploit wurde auf golem und heise verlinkt und somit werden wir die nächsten Tage noch viel „Spaß“ haben. Der PHPGangsta hat eine Implementierung eines Checkers vorgestellt, die auf dem Zend Framework aufbaut. Da dies auch ohne Zend geht, habe ich mal schnell auf Basis des Exploits einen Checker gebastelt.

Der Code ist hier zu finden:

<?php

if (count($argv)==1) {
    echo "Usage: " . $argv[0] . " host <port>\n";
    die();
}

$host = $argv[1];
$port = (isset($argv[2])) ? $argv[2] : 80;
echo "Checking $host:$port... \n";

$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
    die("could not create socket\n");
} else {
    $result = socket_connect($socket, $host, $port);
}

$p = "HEAD / HTTP/1.1\r\nHost: $host\r\nRange:bytes=0-4\r\nAccept-Encoding: gzip\r\nConnection: close\r\n\r\n";

socket_write($socket, $p, strlen($p));
while ($out = socket_read($socket, 2048)) {
    if (stripos($out, "partial")!==false) {
    	echo "[!!] possibly vulnerable\n";
    	exit();
    }	
}
echo "[*] possibly _not_ vulnerable \o/ \n";
?>

Das Skript baut eine TCP Verbindung zu einem angegebenen Server und Port auf und sendet die Testanfrage des Exploits. Die Antwort wird auf das Schlüsselwort „Partial“ untersucht. Wird dieses gefunden ist der Server vermutlich anfällig für das Exploit, wenn nicht – dann nicht 😉

Da es ein 5-Minuten Skript ist und sobald ein Patch für den Apache existiert nicht mehr relevant sein wird, ist es nicht sonderlich sauber geschrieben.

Published inAllgemein

By continuing to use the site, you agree to the use of cookies. more information

The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.

Close