Facebook
Twitter
Google+
Kommentare
0

“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 Icon Wink in Apache Killer vulnerability check

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.

Über den Autor

php monkeys

Link erfolgreich vorgeschlagen.

Vielen Dank, dass du einen Link vorgeschlagen hast. Wir werden ihn sobald wie möglich prüfen. Schließen