XSS Reflected
En está sección veremos todo lo relacionado a xss reflejado, el primer tipo de xss, como funciona, como se explota y como podemos hacer para corregir esta vulnerabilidad.
Este es el ataque más simple de secuencia de comandos entre sitios. Surge cuando una aplicación recibe datos en una solicitud HTTP y los incluye en la respuesta inmediata de forma insegura.
Aquí hay un ejemplo simple de una vuln xss reflejada:
La aplicación no realiza ningún otro procesamiento de los datos, por lo que un atacante puede fácilmente construir un ataque como este:
Si el usuario visita la URL entonces el script será ejecutado en el navegador del usuario, este script puede ser modificado para poder acceder a datos a los que el usuario victima tenga acceso.
¿Qué se refleja en las secuencias de comandos entre sitios?
La secuencia de comandos entre sitios reflejadas ocurre cuando una aplicación recibe datos en una solicitud HTTP e incluye esos datos dentro de la respuesta inmediata de manera insegura, esto puede llegar a modificarse para generar un XSS.
Supongamos que un sitio web tiene una función de busqueda que recibe el termino de busqueda proporcionado por el usuario en un parametro URL:
La aplicación repite el termino de busqueda proporcionado en la respuesta de la URL:
Esto nos indica que facilmente podemos manipular y modificar ese parametro de la URL para ver si podemos ver un XSS Reflejado, suponiendo que la aplicación no realiza ningún otro procesamiento de los datos, se podría construir un ataque del tipo:
Esta URL da como resultado la siguiente respuesta:
Vemos que lo que modificamos se puede ver alterado y visto en el resultado de la pagina.
Ahora bien como decía antes, este ataque xss se ve reflejado en la URL de su solicitud HTTP por ende si esa URL que se compartio al usuario victima fuese compartida a otro usuario con los mismos lineamiento modificados del payload XSS que se agregó en ese caso el script se ejecutará en el navegador del usuario victima #2, dentro del contexto de su sesión con la aplicación.
Vamos a ver un Laboratorio para comprender un poco más esto.
Last updated