A Practical Guide to Dom Based XSS | Lucideus Research

(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))%>”);

Vastaa

Sähköpostiosoitettasi ei julkaista.