CWE ID: 83
Name: Improper Neutralization of Script in Attributes in a Web Page
Das Produkt neutralisiert “javascript:” oder andere URIs in gefährlichen Attributen innerhalb von Tags nicht oder neutralisiert diese fehlerhaft, beispielsweise in Attributen wie onmouseover, onload, onerror oder style.
Effektivität: Unknown
Beschreibung: Überprüfen Sie jeden Eingabeparameter sorgfältig anhand einer strengen, positiven Spezifikation (allowlist), die die spezifischen Zeichen und das zulässige Format definiert. Sämtliche Eingaben müssen neutralisiert werden, nicht nur Parameter, die der Benutzer angeben soll, sondern alle Daten in der Anfrage, einschließlich Tag-Attribute, versteckte Felder, Cookies, Header, die URL selbst und so weiter. Ein häufiger Fehler, der zu anhaltenden XSS-Schwachstellen führt, ist die Validierung nur der Felder, die von der Website wiedergegeben werden sollen. Wir stoßen oft auf Daten aus der Anfrage, die vom Application Server oder der Anwendung widergespiegelt werden, was das Entwicklungsteam nicht vorhergesehen hat. Auch ein Feld, das derzeit nicht widergespiegelt wird, kann von einem zukünftigen Entwickler verwendet werden. Daher wird die Validierung ALLER Teile der HTTP-Anfrage empfohlen.
Effektivität: Unknown
Beschreibung: Mit Struts sollten Sie alle Daten aus Form Beans schreiben, bei denen das Attribut “filter” des Beans auf “true” gesetzt ist.
Effektivität: Defense in Depth
Beschreibung: Um XSS-Angriffe gegen den Session-Cookie des Benutzers zu minimieren, sollte der Session-Cookie als HttpOnly gekennzeichnet werden. In Browsern, die die HttpOnly-Funktion unterstützen (wie beispielsweise neuere Versionen von Internet Explorer und Firefox), verhindert dieses Attribut, dass clientseitige, bösartige Skripte, die document.cookie
verwenden, auf den Session-Cookie des Benutzers zugreifen können. Dies ist jedoch keine vollständige Lösung, da HttpOnly nicht von allen Browsern unterstützt wird. Wichtiger ist, dass XMLHTTPRequest und andere leistungsstarke Browser-Technologien Lesezugriff auf HTTP-Header ermöglichen, einschließlich des Set-Cookie
-Headers, in dem das HttpOnly-Flag gesetzt wird.