Web Application Security

Den Lücken auf der Spur

30.06.2009
Von Max Ziegler

Der Markt

Wer den Kauf eines Web-Applikations-Scanners zu diesem Zweck in Erwägung zieht, sollte die Produkte im Vorfeld allerdings sorgfältig evaluieren, da alle im Umgang mit bestimmten Techniken oder Session-Mechanismen Stärken und Schwächen aufweisen. Die beiden bekanntesten Tools auf dem Markt sind "HP WebInspect" (vormals SPI Dynamics) und "IBM Appscan" (früher Watchfire). Beide bieten neben vielen Konfigurationsmöglichkeiten und Angriffsmustern praktische Hilfsmittel zur manuellen Nachüberprüfung aufgespürter Schwachstellen. Ein ebenfalls mächtiges Produkt ist "Cenzic Hailstorm", das aufgrund seiner Komplexität allerdings ein gewisses Maß an technischem Know-how erfordert.

Obwohl noch nicht lange am Markt, erzielen der "Acunetix Web Vulnerability Scanner" und "NT Objectives NTO Spider" gute Ergebnisse und lassen sich auch von Einsteigern relativ einfach bedienen.

Weitere Vorteile von Scannern

Unabhängig von der Wahl eines konkreten Produkts gibt es aber auch eine Reihe von Prüfungen, bei denen ein automatisierter Scanner hilfreich sein kann. Auch wenn er die manuelle Überprüfung durch einen erfahrenen Auditor nicht ganz ersetzen kann, lassen sich damit einige Arten von Schwachstellen effizient aufdecken.

Web-Audits erfolgen meist aus der Perspektive eines Angreifers, der durch eine Firewall vom Web-Server getrennt ist. Über einige Anwendungen ist jedoch ein unberechtigter Durchgriff bis zur Datenbank möglich. (Quelle: Cirosec)
Web-Audits erfolgen meist aus der Perspektive eines Angreifers, der durch eine Firewall vom Web-Server getrennt ist. Über einige Anwendungen ist jedoch ein unberechtigter Durchgriff bis zur Datenbank möglich. (Quelle: Cirosec)

Beispielsweise kann ein Scanner in kürzester Zeit prüfen, ob in einer Applikation bestimmte URLs vorhanden sind. Durch einfaches Anhängen und Ausprobieren von URLS wie "/admin", "/administrator", "/phpmyadmin" oder "/webmin" lässt sich schnell kontrollieren, ob neben der Anwendung eventuell noch weitere interessante Seiten auf dem Web-Server existieren ("Forceful Browsing"). Auch variieren die gängigen Produkte die Datei-Endungen von aufgerufenen Seiten, um - mit ein bisschen Glück - Backup-Dateien einer Seite aufzuspüren. Wird nämlich statt der Seite "login.jsp" einfach "login.bak" angefragt und existiert diese Datei auf dem Web-Server, wird sie wegen der unterschiedlichen Datei-Endung nicht vom Web-Server interpretiert beziehungsweise ausgeführt. Lediglich der Quellcode der ".bak"-Datei wird als Text ausgegeben, aus dem sich möglicherweise interessante Details über den Login-Vorgang herauslesen lassen.

Über die Prüfung auf Applikationsebene hinaus wird in der Regel auch auf bestimmte Schwachstellen in der Konfiguration des Web-Servers getestet. So werden beispielsweise Verzeichnisse auf mögliche Schreibrechte geprüft. Diese Aufgabe kann auch ein Scanner erfüllen oder dabei unterstützen. Durch einen Upload mit der HTTP-Methode "PUT" prüft das Tool für jedes einzelne Verzeichnis, ob der Web-Server eine auf diese Weise hochgeladene Datei annimmt.