¿Sabes cómo hacer un ataque XSS reflejado y para qué sirve aprender esta técnica de hacking web en ciberseguridad?
El cross-site scripting (XSS) es uno de los ciberataques web más comunes. Este ataque permite ejecutar código JavaScript malicioso en el navegador de una víctima por medio de una aplicación web vulnerable. Existen tres tipos de xss:
- Reflejado.
- Persistente.
- Basado en DOM.
El cross-site scripting reflejado es aquel en el que el código malicioso solo se ejecuta en el navegador de una víctima que abre determinado link. Este enlace lleva incrustado el payload, que puede estar diseñado para robar las credenciales de un usuario u otros fines perjudiciales.
En este post, veremos un ejercicio de pentesting web para aprender cómo funciona este tipo de ciberataque. A continuación, te enseñaremos cómo hacer un ataque xss reflejado en una aplicación web. Cabe aclarar que el siguiente tutorial xss está hecho con fines académicos y que la técnica que explicaremos debe utilizarse siempre con propósitos éticos.
¿Cómo hacer un ataque XSS reflejado?
Para aprender cómo hacer un ataque XSS reflejado y entender cómo funciona, crearemos la página web con el código vulnerable desde cero. Para ello, lo primero que debes hacer es abrir una máquina virtual con sistema operativo Kali Linux.
Ahora, abre una terminal y ejecuta el siguiente comando para arrancar un servidor con Apache 2:
service apache2 start
A continuación, dirígete al directorio /var/www/html, donde podrás modificar el código fuente de la aplicación del servidor. Para ello, usa el comando:
cd /var/www/html
🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴
Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp en Ciberseguridad por una semanaLo siguiente que debes hacer es crear la página con el código vulnerable. Para ello, crearemos un archivo PHP, llamado «hello.php», con el editor de texto GNU nano, de la siguiente forma:
nano hello.php
En el editor de texto, transcribe el siguiente código vulnerable de la aplicación:
Guarda los cambios y, ahora, dirígete en el navegador a la página:
http://127.0.0.1/hello.php
Te darás cuenta de que, si escribes la siguiente dirección URL:
http://127.0.0.1/hello.php?name=pepe
La aplicación imprimirá en pantalla el valor:
«Hello pepe»
Esto quiere decir que podemos ejecutar código JavaScript en el navegador a través de la aplicación, modificando su URL del siguiente modo:
http://127.0.0.1/hello.php?name=<script>alert(123)</script>
Al ingresar a esta dirección, veremos que el navegador mostrará una alerta con el mensaje «123», lo que indicará que estamos ejecutando el payload «<script>alert(123)</script>» correctamente. De este modo, se podría robar información sobre las cookies de sesión del usuario, usando un payload como el siguiente:
http://127.0.0.1/hello.php?name=<script>alert(document.cookie)</script>
Con este código, le estaríamos indicando al navegador que muestre el token de inicio de sesión del cliente en una alerta. Asimismo, con payload más complejo, podríamos enviarle este token directamente al servidor del atacante.
Ya hemos visto cómo hacer un ataque XSS reflejado. Si quieres aprender más técnicas de hacking web para convertirte en todo un especialista en pocos meses, nuestro Ciberseguridad Full Stack Bootcamp es la formación intensiva perfecta para ti. ¡Pide información y descubre cómo impulsar tu vida profesional!