praktický průvodce DOM založeným na výzkumu XSS | Lucideus

(nebo jak se v některých textech nazývá “type-0 XSS”) je útok XSS, při kterém je užitečné zatížení útoku provedeno jako výsledek úpravy DOM “prostředí” v prohlížeči oběti používaném původním skriptem na straně klienta, takže kód na straně klienta běží “neočekávaným” způsobem. To znamená, že samotná stránka (odpověď HTTP, která je) se nemění, ale kód na straně klienta obsažený na stránce se provádí odlišně kvůli škodlivým úpravám, ke kterým došlo v prostředí DOM.

to je na rozdíl od jiných XSS útoků (uložených nebo odražených), kde je užitečné zatížení útoku umístěno na stránce odezvy (kvůli chybě na straně serveru).

VIDEO POC

HTML Escape pak JavaScript Escape před vložením nedůvěryhodných dat do HTML Subkontextu v kontextu provádění

příklad nebezpečné metody HTML

atributy

element.innerHTML = “< HTML> tagy a značky”;

element.outerHTML = “< HTML> tagy a značky”;

metody

dokument.write (“<HTML> Tags and markup”);

document.writeln (“<HTML> Tags and markup”);

Guideline

Chcete-li provést dynamické aktualizace HTML v DOM safe, OWASP doporučuje

a) kódování HTML a poté

b) kódování JavaScriptu všechny nedůvěryhodné vstupy, jak je ukázáno v těchto příkladech:

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

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

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

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

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.