en praktisk Guide til dom-baseret forskning

(eller som det kaldes i nogle tekster, “type-0”) er et angreb, hvor angrebets nyttelast udføres som et resultat af at ændre DOM “miljøet” i offerets bro.ser, der bruges af det originale klientsidescript, så klientsidekoden kører på en “uventet” måde. Det vil sige, at selve siden (det HTTP-svar, der er) ikke ændres, men klientsidekoden indeholdt på siden udføres forskelligt på grund af de ondsindede ændringer, der er sket i DOM-miljøet.

dette er i modsætning til andre angreb (gemt eller reflekteret), hvor angrebets nyttelast er placeret på svarsiden (på grund af en serversidefejl).

video POC

HTML Escape derefter JavaScript Escape, før du indsætter data, der ikke er tillid til, i HTML-undertekst inden for Eksekveringskonteksten

eksempel farlige HTML-metoder

attributter

element.innerHTML = “<HTML> Tags og markup”;

element.outerHTML = “<HTML> Tags og markup”;

metoder

dokument.skriv (“<HTML> Tags og markup”);

dokument.skrivn (“<HTML> Tags og markup”);

retningslinje

for at lave dynamiske opdateringer til HTML I DOM safe, anbefaler vi

a) HTML-kodning, og derefter

b) JavaScript-kodning af alle ikke-betroede input, som vist i disse eksempler:

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

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

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

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

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.