en praktisk Guide till DOM-baserad XSS / Lucideus-forskning

(eller som det kallas i vissa texter, “type-0 XSS”) är en XSS-attack där attackens nyttolast utförs som ett resultat av att modifiera DOM “miljö” i offrets webbläsare som används av det ursprungliga klientsidans skript, så att klientsidans kod körs på ett “oväntat” sätt. Det vill säga själva sidan (HTTP-svaret som är) ändras inte, men klientsidans kod på sidan körs annorlunda på grund av de skadliga ändringar som har inträffat i DOM-miljön.

detta står i kontrast till andra XSS-attacker (lagrade eller reflekterade), varvid attackens nyttolast placeras på svarssidan (på grund av en serversidan).

VIDEO POC

HTML Escape sedan JavaScript Escape innan du sätter in otillförlitliga Data i HTML subtext inom exekverings sammanhang

exempel farliga HTML-metoder

attribut

element.innerHTML = “<HTML> taggar och markup”;

element.outerHTML = “< HTML> taggar och markup”;

metoder

dokument.skriv (“<HTML> taggar och markup”);

dokument.Writeln (“<HTML> taggar och markup”);

riktlinje

för att göra dynamiska uppdateringar av HTML i DOM safe rekommenderar OWASP

a) HTML-kodning och sedan

b) JavaScript-kodning av all otillförlitlig inmatning, som visas i dessa exempel:

element.innerHTML = ” < % = kodare.encodeForJS (kodare.encodeForHTML (untrustedData))%>”;

element.outerHTML = ” < % = kodare.encodeForJS (kodare.encodeForHTML (untrustedData))%>”;

dokument.skriv (“< %=kodare.encodeForJS(Encoder.encodeForHTML(untrustedData))%>”);

document.writeln(“<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))%>”);

Lämna ett svar

Din e-postadress kommer inte publiceras.