XSS
Última actualización
Última actualización
Una vulnerabilidad XSS (Cross-Site Scripting) es un tipo de vulnerabilidad de seguridad informática que permite a un atacante ejecutar código malicioso en la página web de un usuario sin su conocimiento o consentimiento. Esta vulnerabilidad permite al atacante robar información personal, como nombres de usuario, contraseñas y otros datos confidenciales.
En esencia, un ataque XSS implica la inserción de código malicioso en una página web vulnerable, que luego se ejecuta en el navegador del usuario que accede a dicha página. El código malicioso puede ser cualquier cosa, desde scripts que redirigen al usuario a otra página, hasta secuencias de comandos que registran pulsaciones de teclas o datos de formularios y los envían a un servidor remoto.
Nos vamos a montar un laboratorio con este repositorio de GITHUB
Ya con el laboratorio montano nos monta un server por el puerto 10007 donde tenemos un panel de login y registro.
Crearemos dod usuarios uno rodgar y otro leo, esto lo hacemos para en nuestras practicas le robaremos la cookie de sessions al usuario leo.
Creamos a rogdra y luego a leo.
Nos logueamos como rodgar y la tipica con este pequeño codigo ver si es vulnerable a XSS.
Cuando entramos al POST nos sale el alert, esto quiere decir que si es vulnerable a XSS, ahora vamos a seguir con un poco mas de cosas.
---------------------------------------------------------------------------------------------------------------------
Ejercicio uno en este ejercicio le robaremos el correo electronico a un usuario el que vea el POST que posteamos.
Vamos a introducir este pequeño codigo en donde se nos permite y nos lo interpreta donde le pedira ah cualquier usuario que para visualizar el POST debe proporcinar un correo electronico.
Y posteamos.
Seguidamente si intentamos abrir el POST nos dice que Por favor, introducir correo electronico para visualizar el POST.
Ya habiendo estado en escucha con python el correo que la persona escriba nos lo enviara a nostros y asi habriamos hecho con su correo.
---------------------------------------------------------------------------------------------------------------------
En este siguiente ejercicio robaremos correo y contraseña que para visualizar el POST debe proporcionar correo y contraseña.
El script sera el siguiente
Pegamos el codigo donde se nos permite introducir datos.
Luego si intentamos observar el POST nos dice que es necesario iniciar session. Si la persona introduce datos se nos enviara a nostros a nuestro servidor.
Estando en escucha con python3 recivimos la info que el usuario habria introducido para ver el POST, en este caso le hemos robado su correo y contraseña.
---------------------------------------------------------------------------------------------------------------------
Ejercicio tres, en este caso en vez de robar correos y contraseñas le robaremos la Cookie de sesion al usuario leo.
Para que esta vulnerabilidad se pueda acontecer el el HTTPOnly del navegador de la victima si esta en false nos enviaria su cookie de lo contrario no.
Un codigo simple
Pegamos el codigo y hacemos el POST la idea aca es robarle la cookie de session al usuario leo y pasar de ser el usuario rodgar a la cuenta de leo.
Luego si nos ponemos en escucha con python3 y el usuario le pica al POST nos envia su cookie de sesion que este caso esta Cookie es del usuario leo.
Teniendo la Cookie del usuario leo y estando en la session actual que somos rodgar si nos vamos y inspeccionamos y en la cookie el valor que tenemos que es del usuario rodgar y pegamos la nueva cookie que tenemos y recargamos la pagina; observamremos que seguimos siendo el usario rodgar.
Pero ahora si hacemos un nuevo POST ya con la cookie reemplazada que usuario crees que seremos leo o rodgar.
Si nos vamos al ultimo POST que era quien soy nos pone que ahora somos leo y no el usuario rodgar, Porque Porque hemos obtenido la cookie de session del usuario leo y la hemos reemplazado en el storage del navegador.