Freitag, 3. September 2010 |
Als letzter Angriff über HTTP Response Splitting wird in dieser Folge das Entführen von Webseiten mit sensitiven Informationen beschrieben. Außerdem erfahren Sie, wie HTTP Response Splitting erkannt und verhindert werden kann.
Wenn zwei Benutzer die gleiche Verbindung nutzen, kann der eine Benutzer über einen HTTP-Response-Splitting-Angriff eine für den anderen Benutzer bestimmte HTTP Response zu sich umleiten.
N E U ! Security
aktuell
Täglich aktuelle Security-Infos!
Das folgende Beispiel (nach Amit Klein, "Divide and Conquer – HTTP Response Splitting, Web Cache Poisoning Attacks, and Related Topics", PDF) geht von einem Angreifer, einem angegriffenen Benutzer, einem verwundbaren Webserver und einem zwischengeschalteten Proxy-Server aus. Der Proxy-Server teilt Verbindungen auf mehrere Benutzer auf.
Die TCP-Verbindung zwischen Angreifer und Proxy-Server wird mit AP bezeichnet, die zwischen Opfer und Proxyserver mit OP. Die TCP-Verbindung zwischen Proxy- und Webserver heißt PW. Der Angriff läuft dann nach folgendem Schema ab:
Da das Timing für einen erfolgreichen Angriff sehr genau abgestimmt sein muss, ist ein derartiger Angriff schwierig durchzuführen.
Nachträglich einen Angriff zu erkennen, ist nur im Fall von GET-Requests möglich: Ein entsprechend präparierter Parameter wird in den Logdateien protokolliert. Erfolgt der Angriff über einen POST-Request, werden die Parameter nicht protokolliert. Da die eingeschleusten Daten normalerweise direkt in den HTTP-Ausgabestrom integriert werden, fallen auch keine geänderten Dateien o.Ä. auf. Und wurde zum Beispiel ein Cache vergiftet, kann eine Schutzfunktion auf dem Webserver dies nicht erkennen, da die Daten auf dem Webserver selbst unverändert sind. Ein derartiger Angriff lässt sich eventuell nachweisen, wenn außer den Logdateien des Webservers auch die des beteiligten Cache-Servers zur Verfügung stehen und der genaue Zeitpunkt des Angriffs bekannt ist. War der Angreifer nachlässig, befindet sich die vergiftete Seite eventuell noch im Cache. In den meisten Fällen wird der Angreifer sie jedoch wieder aus dem Cache entfernen, nachdem er sein Ziel erreicht hat.
Um laufende HTTP-Response-Splitting-Angriffe zu erkennen, kann das in About Security #20 beschriebene Verfahren verwendet werden, das das PSH-Bit nutzt. Es ist gut zum Einsatz in Intrusion-Detection- oder -Prevention-Systemen geeignet. Erkannte Angriffe können dann durch Verwerfen der entsprechenden Pakete beendet werden.
Um HTTP-Response-Splitting-Angriffe zu verhindern, gibt es für die verschiedenen Beteiligten unterschiedliche Möglichkeiten:
Damit ist das Thema "HTTP Response Splitting" abgeschlossen. In der nächsten Folge lernen Sie einige weitere Schwachstellen in Webanwendungen kennen.
Wenn Sie Fragen oder Themenvorschläge haben, können Sie diese gerne an die angegebene E-Mail-Adresse senden oder im Security-Forum einbringen!
About Security – Übersicht zum aktuellen Thema "Sichere Webanwendungen"