Finalizando un bloque javascript sin el carácter de barra diagonal

8

Situación muy frustrante en un pentest que estoy haciendo actualmente: he encontrado un lugar donde puedo inyectar casi todos los caracteres en una pieza de javascript desde un parámetro.

Pero los desarrolladores web parecen tener suerte: el código que puedo modificar nunca se ejecuta porque hay un error de sintaxis de javascript antes de mi punto de inyección. ¡Argh!

Así que pensé que podría terminar el bloque de javascript haciendo </script> y luego agregando mi ataque. Sin embargo, no puedo usar el carácter / , casi el único carácter que se filtra. Probé una larga lista de variaciones pero ninguna parece funcionar. Puedo administrar <&#47;script> pero el navegador no lo recoge como </script> .

¿Alguna idea? ¿Puedo modificar algo para que mi script se ejecute de todos modos? ¿O hay otra forma de finalizar un bloque de script, que no sea </script> ? ¿Algunas otras codificaciones del carácter / que puedo probar? Cualquier ayuda muy apreciada. :)

    
pregunta Mark Koek 07.07.2016 - 11:52
fuente

2 respuestas

3

No tengo conocimiento de ninguna manera de finalizar un <script> sin la presencia de </script . (mayúsculas y minúsculas, sin codificación)

Si hay un error de sintaxis en algún lugar de un script en particular, entonces ese script completo no se ejecutará. (por supuesto, parece que ya lo sabes y, por lo tanto, estás intentando insertar </script> )

Sin embargo, esto sigue siendo serio porque es probable que un futuro desarrollador solucione ese error de sintaxis, sin saberlo, haciendo una vulnerabilidad de esta falla de inyección que descubrió.

Sin embargo, si provocó el error de sintaxis con su propia inyección (es decir, se rompió la cadena entre comillas), es posible que también pueda resolverlo antes de agregar su exploit.

    
respondido por el George Bailey 07.07.2016 - 19:07
fuente
3

Lado del servidor:

Como un procedimiento de seguridad, codificaron la "/" en "& # 47" para evitar cualquier cruce de ruta de directorio o XSS (sin suerte). Prueba otros métodos para sortear el "/".

Hoja informativa: enlace

Lado del cliente:

Su navegador tiene un tipo de protección XSS habilitada. Intenta desactivar esa protección.

    
respondido por el Lucian Nitescu 07.07.2016 - 12:29
fuente

Lea otras preguntas en las etiquetas