XSS mittels HTTP User Agent & HTTP Referer


Hallo Security Gemeinde,

ja was soll ich sagen? Diesen Post wollte ich eigentlich schon früher schreiben, da er mir sehr wichtig erschien – dies will ich nun machen 😉

Also, was bekannt ist, der User Agent bzw. der HTTP Referer ist manipulierbar. Dies ist nichts neues – aber was wohl beachtet werden sollte nun hier:

Jede große SEO Plattform bietet es an, über den Browser alle möglichen Daten einzusehen. Nicht weiter schlimm -> was aber wenn ein XSS Code im User Agent / Referer auftaucht?

Meistens werden diese Informationen ja direkt angezeigt -> was aber wenn dieses Konstrukt als User Agent / Referer folgenden Inhalt anzeigt:

"User-Agent:" <script>alert('XSS');</script>

Wenn man jetzt viel Pech hat, wird der XSS Code beim anschauen des User Agents des Besuchers ausgeführt und dann möglicherweise brisante Daten ausgespäht.

Hier ist der Rat ->

„IMMER ALLE AUSGABEN DIE VOM BENUTZER KOMMEN FILTERN!“.

Somit wäre hier bei einer PHP Seite der folgende Befehl wichtig:

htmlentities();

Hier ein Beispiel:

echo htmlentities($_SERVER['HTTP_REFERER']);

Oder:

echo htmlentities($_SERVER['HTTP_USER_AGENT']);

Dieser Post sollte nun über diesen Sachverhalt aufklären 🙂

Stay Safe and Health!

Robert