Ojo de buen cubero
Estaba checando yo un site que vende servicios para el envio de sms y por alguna razon llegue a la zona de login, solo por estar jugando meti datos claramente erroneos, era algo como: "kfdslfkdsñ" tanto en el user como en el pass.
Obviamente me solto el sistema un mensaje de error.
Hasta aqui todo era mas que normal, no se porque, pero cambie la mirada hacia la URL y oh sorpresa!!
El mensaje de error lo mandaba por una variable en la URL, se preguntaran ¿que tiene de raro esto?, pues lo raro aqui es que el mensaje se enviaba tambien con los tags html.
https://www.sitio.com/login.php?error=%3Cfont+color%3Dred%3EYour+Login+has+failed%3C%2Ffont%3E
Pense que si eso era posible, podria meter entonces cosas desde la variable error. Comence por algo sencillo como poner solamente:
https://www.sitio.com/login.php?error=Rigter
Despues meti en la variable:
<script>alert('Rigter Was Here!')</script>
Y por ultimo para recordar mi descubrimiento meti varios tags y saque este screen.
(Aumentar Tamaño)
No pongo el sitio ya que apenas reporte este pequeño error de XSS, digo pequeño porque no lo cheque a fondo, ademas no tengo mucho conocimiento de esas cosas, asi que mejor avise al sitio esperando que lo corrijan, mas que nada para prevenir.
Yo creo que una mejor forma de mostrar el error si el login no es correcto, seria usar una condicion que al no coincidir el user y el pass mande el mensaje mediante un echo o algo asi, ya que al pasar valores por url pueden ser modificandos si es que no son tratados correctamente.