Estoy probando una aplicación web y encontré una vulnerabilidad XSS. Puedo romper una etiqueta e inyectar algo de código a la aplicación, pero nada potencialmente peligroso para el cliente.
La aplicación tiene un filtro que detecta caracteres especiales y algunas cadenas, también puedo omitir el filtro para el reconocimiento de cadenas inyectando valores nulos (< scr% 00ipt >) entre sus caracteres, pero no puedo entender cómo para evitarlo por un solo carácter.
Allowed chars: : / & @ - { } < > \ . , ' "
Disallowed chars: = ( ) # ;
El filtro no usa conversión de caracteres y cuando se detecta algo no permitido, muestra un mensaje de error: Se detectaron parámetros no válidos
Tal vez me esté perdiendo algo, pero hoy no veo cómo ejecutar javascript en estas condiciones. ¿Alguna idea?