Ich frage mich, ob die Attribute href
und src
für die Tags <a>
und <img>
immer sicher sind, w.r.t. XSS-Angriffe, wenn sie mit http://
oder https://
beginnen.
Ist es beispielsweise möglich, javascript: ...
an die Attribute href
und src
anzuhängen, um Code auszuführen?
Ungeachtet , ob die Zielseite z. Eine Pishing-Site oder der <img src=...>
löst eine fürchterlich störende HTTP-GET-Anforderung aus.
Hintergrund: Ich verarbeite Text mit Markdown und bereinige dann das resultierende HTML (unter Verwendung von Google Caja's JsHtmlSanitizer ). Einige Beispielcodes in Google Caja setzen alle href
s und src
s voraus, die mit http://
oder https://
beginnen. Ich frage mich, ob die Verwendung dieses Beispielcodes sicher ist.
Mit freundlichen Grüßen,
Kaj-Magnus
Das Zulassen nur des http (s) -Protokolls verhindert das Ausführen von Javascript, sie können jedoch weiterhin für böswillige Zwecke verwendet werden. Folgendes berücksichtigen:
<img src="http://your.website.com/changepassword.php?newpass=hacked123" />
Das Einbetten von Inhalten von externen Websites durch Benutzer ist immer riskant, aber manchmal unvermeidlich. Wenn Sie sicherstellen, dass Ihre Skripte wie oben beschrieben gut gegen XSS geschützt sind, wird Ihre Site stabiler, wenn nicht sogar zu 100% hackersicher.
EDIT: Hier ist ein ziemlich umfangreiches XSS-Spickzettel , wenn auch etwas in die Jahre gekommen. Ein wichtiger Punkt aus dem Spickzettel, den ich vergessen habe, ist, dass Sie auch Anführungszeichen und/oder >
-Zeichen umgehen sollten, um URLs wie http://legiturl.com"><script src="http://mal.icio.us/attack.js">
zu verhindern.