Tag-Archive for » Webserver «

HTTP-Header verwirren Internetserver

James Kettle von der Firma Portswigger hat auf der Black-Hat-Konferenz in Las Vegas unter dem Titel „Targeting HTTP’s Hidden Attack-Surface“ zahlreiche Varianten von sogenannten Server-Side-Request-Forgery-Angriffen (SSRF) gezeigt.

Der Sicherheitsforscher setzte dabei vor allem darauf, mit intelligent gewählten HTTP-Headern Webserver und Loadbalancer durcheinander zu bringen.

SSRF-Angriffe in der Praxis

Kettle demonstrierte einige Angriffe, die darauf basieren, an einen Server einen HTTP-Request mit ungültigem Host-Header zu abzusenden. Viele Systeme leiten solche Anfragen einfach nur weiter, ganz egal, wohin sie gehen. Bei Yahoo gelang es zum Beispiel auf diese Weise, Zugriff auf ein internes System zu erlangen. Im Host-Header wurde dazu einfach eine interne IP eingefügt.

Das Yahoo-System sprach offenbar nicht HTTP, sondern ein einfaches, zeilenorientiertes Protokoll. Dabei wurde die Antwort dieses Systems auch zurückgeschickt. So führte ein HTTP-Request mit der normalerweise nicht existenten Help-Methode dazu, dass das System, bei dem es sich um einen Apache Traffic Server und eine Software zum Cachen von HTTP-Verbindungen handelte, eine Hilfe ausgab. Mit seinem Angriff hätte Kettle Daten direkt in den internen HTTP-Cache von Yahoo schreiben können…

Britisches Zensursystem antwortet auf Header

Bei einem von ihm selbst kontrollierten Server bekam Kettle Antworten, allerdings nur bei HTTP- und nicht bei HTPS-Verbindungen. Die Antwort kam allerdings nicht von seinem eigenen System, sondern von dem britischen Zensursystem, das früher mal Bilder zum Kindesmissbrauch blockieren sollte und inzwischen hauptsächlich für die Verfolgung von Copyright-Verstößen benutzt wird.

Für Webworker mit Verantwortung für Internetserver könnte es eine gute Idee sein, einmal zu testen, wie die eigenen Server auf solche Header reagieren.

Das letzte Sicherheitsupdate für den Webserver Apache 2.0

wurmapachekleinDas letzte Update für den Webservers Apache 2.0.65 ist nach einem Bericht von Heise auch das Ende der Apache 2.0-Hauptversion.

Durch dies Update werden unter anderem sechs Sicherheitslücken mit CVE-Eintrag geschlossen. Dazu gehört auch der bekannte Fehler der Log-Funktion, durch den Angereifer Kontrolle über den Server erlangen können.

Das ebenfalls schon länger bekannte Problem, dass man mit geschickt formulierten Regeln in einer .htaccess-Datei den gesamten Arbeitsspeicher überschreiben kann, wird in der 2.0er Versionsreihe wohl nicht mehr beseitigt.

Aus diesen Gründen sollten Anwender jetzt auf eine der neueren Versionen 2.2 oder 2.4 umsteigen. Apache 2.4 wurde schon im Februar letzten Jahres herausgegeben.

PHP: Festplatten-Speicher des Webservers abfragen

Ausgabe des Codeschnipsels

Gelegentlich kann es wichtig werden, zu wissen, wie viel Speicherplatz man noch auf der Festplatte des Webservers zur Verfügung hat. Gerade bei einer Internetpräsenz mit vielen Digitalfotos in voller Größe sind schnell die Grenzen der Kapazität erreicht.

Der folgende PHP-Schnipsel gibt die Gesamtgröße der Festplatte und den freien Speicherplatz darauf aus. Auch die im aktuellen Verzeichnis benutzte Kapazität wird angezeigt, das hilft zu erkennen, ob es wirklich die Fotos sind, oder ob ein anderer Bereich die Ressourcen belastet. Der Code dazu:

<?PHP

$path = „./“;
$free = round(disk_free_space  ($path) / 1024 / 1024, 3);
$disk = round(disk_total_space ($path) / 1024 / 1024, 3);

printf (‚<p>Von insgesamt %s GB sind noch %s GB frei.</p>‘,
number_format ( $disk, 0, ‚,‘, ‚.‘),
number_format ( $free, 0, ‚,‘, ‚.‘)
);

define (‚_size‘, 4096);

function dir_size($DIR = FALSE) {
if ( ! $DIR OR ! is_dir($DIR)) return;

if (substr($DIR,-1) != „/“) $DIR .= „/“;
if ($d = dir($DIR)) {
$size = _size;
while ($n = $d->read()) {
if ($n == „.“ OR $n == „..“) continue;
$SIZE += (is_dir($DIR . $n))
? dir_size($DIR . $n) + $size
: ceil(filesize($DIR . $n) / $size) * $size;
}
$d->close();
}
return $SIZE;
}

printf(‚<p>Im Verzeichnis sind %s Bytes in Benutzung</p>‘,
dir_size(dirname(__file__)));
?>

Category: PHP  Tags: , , , ,  Comments off