1.5.5.2.1 Persistent XSS

Dieser Angriff basiert auf einer Schwachstelle des Webservers, der die Eingaben von Nutzern nur unzureichend überprüft. Beispielsweise könnte auf einer Webseite ein Gästebuch angeboten werden, bei dem die Benutzer Grußbotschaften hinterlassen können. Der Betreiber der Webseite nimmt an, dass die Nutzer hier nur Texte hineinschreiben werden. Ein Angreifer könnte jedoch JavaScript Code (zusätzlich zum Text) eingeben, der auf der Serverseite in eine Datenbank gespeichert wird. Beispielsweise könnte die Eingabe so aussehen:

Schöne Webseite <script type="text/javascript">alert("mit XSSCross-Site Scripting-Problem")</script>

Wird die Webseite danach von weiteren Benutzern aufgerufen, so erhalten diese eine Zusammenstellung der vorherigen Einträge, wobei auch der Eintrag des Angreifers ausgeliefert wird. Dieses führt zur Ausführung des Codes bei den weiteren Nutzern.

Als Gegenmaßnahme muss der Server Eingaben dahingegend überprüfen, ob es sich um Code handelt. Solche Eingaben müssen entweder abgelehnt oder so umcodiert werden, dass sie nicht mehr ausführbar sind. Bei JavaScript Code muss man beispielsweise auf das <-Zeichen achten.