Gyakorlati útmutató a DOM alapú XSS / Lucideus kutatáshoz

(vagy ahogy egyes szövegekben hívják,” type-0 XSS”) egy XSS támadás, amelyben a támadás hasznos terhelését az áldozat böngészőjében az eredeti kliens oldali szkript által használt Dom” környezet “módosításával hajtják végre, így a kliens oldali kód” váratlan ” módon fut. Vagyis maga az oldal (azaz a HTTP válasz) nem változik, de az oldalon található ügyféloldali kód másképp fut le a Dom környezetben bekövetkezett rosszindulatú módosítások miatt.

ez ellentétben áll más (tárolt vagy visszavert) XSS támadásokkal, ahol a támadás hasznos terhelése a válaszoldalba kerül (szerveroldali hiba miatt).

videó POC

HTML Escape, majd JavaScript Escape, mielőtt nem megbízható adatokat helyezne be HTML Alszövegbe a végrehajtási kontextusban

példa veszélyes HTML-módszerekre

attribútumok

elem.innerHTML = “< HTML> címkék és jelölés”;

elem.outerHTML = “< HTML> címkék és jelölések”;

módszerek

dokumentum.írás (“< HTML> címkék és jelölések”);

dokumentum.writeln (“< HTML> tag and markup”);

útmutató

a HTML dinamikus frissítéséhez a Dom széfben az OWASP javasolja a

a) HTML kódolást, majd

b) JavaScript kódolja az összes nem megbízható bemenetet, amint az a következő példákban látható:

elem.innerHTML = ” < %=kódoló.encodeForJS (kódoló.encodeForHTML (untrustedData))%>”;

elem.outerHTML = ” < %=kódoló.encodeForJS (kódoló.encodeForHTML (untrustedData))%>”;

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

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

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.