Cross User Defacement

Was ist Cross-User Defacement?

Cross-User Defacement (deutsch „Verunstaltung“) ist ein Exploit, der eine Sicherheitslücke im HTTP-Response Splitting ausnutzt. Für die Durchführung fügt der Angreifer in die Header-Antwort mehrere Zeilenvorschübe und weitere Daten per Header-Injection ein. Prüft die Webanwendung die Benutzereingaben nicht und erlaubt die Zeilenvorschübe, kann der Cyberkriminelle die Nutzlast kontrollieren und die HTTP-Antwort zweiteilen. Der Angreifer stellt also an den Server eine Anfrage und sorgt für die Erzeugung von zwei Antworten. Der zweite Teil kann vom Server als Antwort auf eine andere Anfrage fehlinterpretiert werden, die zum Beispiel von einem anderen Anwender mit derselben TCP-Verbindung gestellt wurde. In der Folge kann der Angreifer dem potenziellen Opfer eine speziell aufbereitete Website anzeigen, die aussieht wie die Originalseite, aber Eingaben wie Benutzername und Passwort an diesen weiterleitet. Auch kann der Angreifer auf diese Weise andere Nutzer davon überzeugen, dass die Anwendung gehackt wurde, sodass diese das Vertrauen in das Programm verlieren und es nicht mehr nutzen. Damit die schwer auszuführende Angriffsform funktioniert, muss die Anwendung das Ausfüllen des Headers mit mehr als einem Header ermöglichen, wobei die Zeichen CR (Carriage Return) und LF (Line Feed) verwendet werden.

Was schützt vor Cross-User Defacement?

Die gründliche Überprüfung sämtlicher Eingabeparameter, bevor diese in den Header geschrieben werden, schützt vor Cross-User Defacement.