XSS reflejado (Variable JS)
Hola amigos, hoy les mostraré los pasos para detectar una vulnerabilidad que encontré en Web Application Security Tests en mi proyecto llamado Saka Reflected XSS (JS Variable) y explotar esta vulnerabilidad.
¿Qué es XSS?
Puede encontrar información detallada sobre la vulnerabilidad XSS en el siguiente artículo.
Ejecutar la aplicación
Estibador
docker pull erdemstar/saka:reflected-xss-js-variable
docker run -d -p 80:80 erdemstar/saka:reflected-xss-js-variable
git clone https://github.com/ErdemStar/Saka
cd reflected-xss-js-variable
- mouse click on reflected-xss-input.sln
- devenv reflected-xss-input.sln (CMD)
Cuando abrimos la aplicación por primera vez, una página como la siguiente nos da la bienvenida. Al presionar el botón Ataque en la página, se nos dirige a la parte que probaremos.
Cuando llegamos a la página de Ataque, nos enfrentamos a una página donde se toma la información del nombre del usuario. Cuando escribimos un nombre en este campo y lo enviamos, obtenemos el siguiente resultado.
Para echar un vistazo más de cerca a la aplicación, sería útil ver las solicitudes entrantes y salientes a través del navegador.
notas mentales
- El valor recibido del usuario se mantiene en el parámetro de nombre y se envía mediante GET HTTP Verb.
- La aplicación muestra el valor que recibe del usuario usando las líneas 72–73–74 de la imagen compartida arriba. La aplicación muestra los datos al usuario en el campo JS.
Después de obtener suficiente información sobre la aplicación, agregamos algunos caracteres para que el navegador los interprete al valor del nombre que enviaremos para aprovechar la vulnerabilidad XSS.
Cuando verificamos el contenido de la respuesta entrante, se entiende que la aplicación refleja el valor del nombre recibido de nosotros sin ningún control de seguridad.
Aquí, cuando los datos recibidos del usuario se agregan en la etiqueta del script, se pueden explotar con 2 métodos diferentes.
1-método (inyección HTML)
Cuando se examinan las 73 filas devueltas en Respuesta, la aplicación usa indirectamente la característica de Javascript inner.html en lugar de agregar y mostrar los datos que recibe del usuario directamente en HTML. Aquí, se puede realizar un ataque XSS cuando se lanza una solicitud como la siguiente.
2-Método (JS Bypass)
Después de examinar 73 líneas, se puede enviar una solicitud con un formato de carga útil similar al que se muestra a continuación y se pueden ejecutar diferentes comandos de Javascript dentro de la etiqueta del script.
<context>";//<payload>
En esta etapa, el comando JS se hizo ejecutable directamente al realizar una solicitud simple de la siguiente manera.
Gracias por leer mi artículo, espero que te haya sido útil. A continuación te dejo los enlaces de mis otros conceptos que te pueden ser de utilidad.
Haga clic aquí para ver mis otros artículos sobre vulnerabilidades web. Enlace

![¿Qué es una lista vinculada, de todos modos? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































