Reflected DOM XSS writeup

Descripción

This lab demonstrates a reflected DOM vulnerability. Reflected DOM vulnerabilities occur when the server-side application processes data from a request and echoes the data in the response. A script on the page then processes the reflected data in an unsafe way, ultimately writing it to a dangerous sink.

To solve this lab, create an injection that calls the alert() function.

Reflected DOM XSS writeup

Al entrar en ele laboratorio veremos un blog con una barra de búsqueda. Esta barra es el elemento vulnerable a XSS. Explorando el código de la página con Ctrl + U o Click derecho -> Ver código fuente de la página, encontraremos el código JavaScript que se encarga de procesar las búsquedas:

Vemos que se está utilizando ‘eval()’, lo cual implica un grave riesgo de seguridad. Realizaremos una búsqueda arbitraria e iremos al ‘Logger’ o al ‘Target’ de Burp Suite:

Por usar ‘eval()’, la petición debe de enviar un JSON. Es posible cerrar este JSON e introducir código JavaScript. Nos llevaremos la petición al ‘Repeater’ con Ctrl + R o Click derecho -> Send to Repeater. Allí intentaremos cerrar el JSOn añadiendo ‘»}’, pero la página nos añadirá una ‘\’ para evitarlo:

Nota: Al añadir ‘\’, el carácter que le precede pierde el significado especial, por lo que las comillas ya no pueden interactuar con las primeras y cerrarlas.

Con lo cual, añadiremos nosotros un ‘\’ a la petición para hacer que el carácter ‘\’ que inserta JavaScript pierda el significado y acepte nuestro cierre de comillas. También tendremos que comentar el final de la cadena con ‘//’ para que no lance un error:

\"-alert()}//

Al copiar el código y pegarlo completaremos el laboratorio:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *