Una Guía Práctica para la investigación XSS | Lucideus basada en DOM

(o como se le llama en algunos textos, “type-0 XSS”) es un ataque XSS en el que la carga útil de ataque se ejecuta como resultado de modificar el “entorno” DOM en el navegador de la víctima utilizado por el script original del lado del cliente, de modo que el código del lado del cliente se ejecuta de una manera “inesperada”. Es decir, la página en sí (la respuesta HTTP que es) no cambia, pero el código del lado del cliente contenido en la página se ejecuta de manera diferente debido a las modificaciones maliciosas que se han producido en el entorno DOM.

Esto contrasta con otros ataques XSS (almacenados o reflejados), en los que la carga útil de ataque se coloca en la página de respuesta (debido a un defecto del lado del servidor).

VIDEO POC

Escape HTML luego Escape JavaScript Antes de Insertar Datos No Confiables en Subcontexto HTML dentro del Contexto de Ejecución

Ejemplo Métodos HTML peligrosos

Atributos

elemento.innerHTML = “< HTML> Etiquetas y marcado”; elemento

.outerHTML = “< HTML> Etiquetas y marcado”;

Métodos

documento.escribir (“< HTML > Etiquetas y marcado”);

documento.writeln (“<HTML> Etiquetas y marcado”);

Directriz

Para realizar actualizaciones dinámicas de HTML en DOM safe, OWASP recomienda

a) codificación HTML, y luego

b) Codificación JavaScript para todas las entradas no confiables, como se muestra en estos ejemplos: elemento

.innerHTML= ” <% = Codificador.encodeForJS (Codificador.encodeForHTML (Datos no confiables))%>”;

elemento.outerHTML= ” <% = Codificador.encodeForJS (Codificador.encodeForHTML (Datos no confiables))%>”;

documento.escribir (“< % = Codificador.encodeForJS(Encoder.encodeForHTML(untrustedData))%>”);

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada.