(tai kuten sitä joissakin teksteissä kutsutaan, “type-0 XSS”) on XSS-hyökkäys, jossa hyökkäyksen hyötykuorma suoritetaan muokkaamalla alkuperäisen asiakaspuolen komentosarjan käyttämää Dom – “ympäristöä” uhrin selaimessa niin, että asiakaspuolen koodi toimii “odottamattomalla” tavalla. Toisin sanoen itse sivu (HTTP-vastaus, joka on) ei muutu, mutta sivun sisältämä asiakaspuolen koodi suorittaa eri tavalla johtuen Dom-ympäristössä tapahtuneista haitallisista muutoksista.
tämä eroaa muista XSS-hyökkäyksistä (tallennettu tai heijastettu), joissa hyökkäyksen hyötykuorma on sijoitettu vastaussivulle (palvelinpuolen vian vuoksi).
VIDEO POC
HTML Escape sitten JavaScript Escape ennen kuin lisäät epäluotettavia tietoja HTML-Alitekstiin suorituksen yhteydessä
esimerkki vaaralliset HTML-menetelmät
attribuutit
Elementti.innerHTML = “<HTML> Tags and markup”;
element.outerHTML = “<HTML> Tags and markup”;
Methods
document.Kirjoita (“< HTML> tagit ja markup”);
asiakirja.writeln (“<HTML> tagit ja markup”);
Ohje
Dom-kassakaapin dynaamisten päivitysten tekemiseksi HTML: ään OWASP suosittelee
a) HTML-koodausta ja sitten
b) JavaScript-koodausta kaikille epäluotettaville syötteille, kuten näissä esimerkeissä on esitetty:
Elementti.innerHTML = ” <% = kooderi.enkooderit(Encoder.encodeForHTML(epäluotettava))%>”;
alkuaine.outerHTML = ” <% = Encoder.enkooderit(Encoder.encodeForHTML(epäluotettava))%>”;
asiakirja.Kirjoita (“<% = kooderi.encodeForJS(Encoder.encodeForHTML(untrustedData))%>”);
document.writeln(“<%=Encoder.encodeForJS(Encoder.encodeForHTML(untrustedData))%>”);