- Cross Site Tracing
-
Cross-Site Tracing (kurz: XST oder CST) ist ein Angriff auf Internetbenutzer mit dem Ziel bestimmte Benutzerdaten auszuschnüffeln. Über eine reguläre Webserver-Funktion (HTTP-TRACE) und durch Sicherheitslücken in Browsern ist es für einen Dritten möglich, HTTP-Header-Informationen zu erhalten. Dieser Angriff tritt besonders in Verbindung mit Cross-Site Scripting auf.
Anders als bei einem normalen Cross-Site-Scripting-Angriff ist ein Cross-Site-Tracing-Angriff jedoch nicht auf dasselbe Dokument oder denselben Webserver beschränkt. Sondern es kann jeder beliebige Webserver genutzt werden, um an die Benutzerdaten des Opfers einer beliebigen Website gelangen. Dieser Umstand macht diese Angriffsform besonders gefährlich, da prinzipiell von jeder Website aus, die ein Benutzer aufruft, ein Angriff auf die Benutzerdaten einer beliebigen anderen Website möglich ist.
Inhaltsverzeichnis
Details
Eine HTTP-TRACE-Anfrage entspricht einer GET-Anfrage, mit dem Unterschied, dass der Webserver die gesamte an ihn gesendete Anfrage als Echo an den Client zurückgibt. Ein clientseitig ausgeführtes Skript kann eine TRACE-Anfrage senden und sämtliche an den Webserver gesendete Informationen (samt aller HTTP-Header-Felder, also auch Authentifizierungsdaten, Cookies, etc.) abfangen, die für den Angreifer von Interesse sind.
Mit einem solchen Angriff können Sicherheitsmaßnahmen wie der von Microsoft in HTTP-Cookies eingeführte
HttpOnly
-Parameter[1] und sogar verschlüsselte Übertragungen (wie etwa bei HTTPS) umgangen werden.Da Cross-Site Scripting als der häufigste Angriff im Internet gilt[2], tritt auch Cross-Site Tracing hauptsächlich in Verbindung mit diesem auf. Allerdings eignen sich theoretisch alle clientseitigen Technologien für diesen Angriff, wenn damit HTTP-Anfragen erstellt werden können. Hierzu zählen neben JavaScript und Jscript auch VBScript, Flash, Java, ActiveX, Action Script, Shockwave und andere.
Beispiel
- Ein Benutzer wird auf eine vom Angreifer vorbereitete HTML-Seite gelockt.
- Die Seite enthält JavaScript-Code, der eine TRACE-Anfrage zu einer Website sendet, von der der Angreifer die Cookie-Daten des Benutzers erhalten will.
- Der Server sendet die Anfrage des Clients samt Cookies an den Client zurück, wo sie von dem JavaScript-Skript ausgewertet wird.
- Das JavaScript-Skript filtert die Cookie raus und sendet sie weiter an den Angreifer.
Schutz
Alle Webserver, die die TRACE-Methode unterstützen, eröffnen diese Angriffsmöglichkeit. Sie können durch Deaktivierung der TRACE-Unterstützung auf Seiten des Webservers für Anfragen an diesen Webserver verhindert werden.
Auf der Client-Seite können durch Deaktivieren der JavaScript-Unterstützung (Active Scripting) alle Formen des Cross-Site Scripting verhindert werden. Allerdings geschieht dies zu dem Preis, dass viele Seiten nicht mehr wie erwartet genutzt werden können.
Quellen
- ↑ Microsoft. Mitigating Cross-site Scripting With HTTP-only Cookies
- ↑ OWASP-Projekt: Top 10 2007 (englisch), geprüft 23. Mai 2008
Literatur
- Jeremiah Grossman: Cross-Site Tracing (XST). White Hat Security, 20. Januar 2003. Abgerufen am 23. Mai 2008. (englisch)
Weblinks
Wikimedia Foundation.