HTML Injection y XSS


HTML Injection & XSS:

images/127-1.png

Si nos fijamos vemos que tenemos un canario en esta función de resolución en mutillidae.

De nuevo esto se va a reducir a una no sanitización de los inputs de la web por lo que podemos introducir código HTML.

Si capturamos con BurpSuite.

images/127-2.png

Nos devuelve

images/127-3.png

Teniendo esto en cuenta podemos inyectar algo de código javascript.

images/127-4.png

images/127-5.png

Podemos aprovechar esto para ejecutar algo más avanzado.

Vamos a utilizar uno de los payloads que proporciona la web.

images/127-6.png

Este payload lo que hará es dar una alerta de que la cuenta ha expirado y debe introducir de nuevo sus credenciales para loggearse para posteriormente enviarlas a un servidor del atacante.

Lo copiamos, lo codificamos en URL:

images/127-7.png

Lo inyectamos:

images/127-8.png

Se ejecuta el script:

images/127-9.png

Las credenciales quedan a disposición del atacante en su servidor:

images/127-10.png

Esto lo podemos aprovechar en un ataque de phising por ejemplo implementando el script en una URL que le pasas a la victima.

Si se recarga la página el script o la vulnerabilidad no se refleja porque esta se produce en la respuesta del servidor, en lo que este refleja.

Sería más interesante poder inyectar este código en algún sitio de la web donde se quedase de forma permanente.

Esto pasaría de ser XSS reflected a XSS stored.

XSS Stored:

Esto por ejemplo puede ser en un blog, algo que podemos publicar y queda almacenado y se ejecuta cada vez que se entre en la web.

images/127-11.png

Interceptamos con BurpSuite.

Editamos el payload para modificar las comillas simples por dobles:

images/127-12.png

Codificamos:

images/127-13.png

Inyectamos y :

images/127-14.png