Fijación de sesión: configuración de ruta a raíz sin /

1

He encontrado una vulnerabilidad XSS en el subdominio de un sitio que estoy probando, y al usarlo puedo configurar cookies tanto para el sitio principal como para todos sus subdominios.

Mi url actualmente tiene este aspecto:

http://s1.example.com/u/%22%3E%3Cmeta%20http-equiv=Set-Cookie%20content=%22sid=1234;%20path=/;%20expires=Thursday,%2020-May-15%2000:15:00%20GMT;%20domain=example.com%22%3E

El problema es que por alguna razón u otra, el carácter "/" se filtra (no hay otros caracteres), lo que significa que aunque puedo configurar cookies en el sitio principal y en todos sus subdominios, solo puedo configurarlas. la ruta / u / ya que es desde donde se lanza el ataque en el subdominio. ¿Hay alguna forma de establecer la ruta a / sin utilizar realmente el / ?

¡Muchas gracias por cualquier ayuda!

    
pregunta WH567 06.08.2014 - 22:57
fuente

3 respuestas

1

Su contenido va en un atributo HTML, codificado en una URL. Eso te da dos formas posibles de codificación:

  • Codificación de URL: %2F . Aunque esto debería funcionar en principio, tanto IIS como Apache bloquean el uso de barras con codificación URL debido a algunos problemas de seguridad anteriores.

  • Codificación HTML: / , o más bien como está en una URL, %26%2347%3B .

(Aunque ... ya que parece que tienes una inyección en el atributo HTML, ¿hay alguna razón para no ir directamente al %22%3E%3Cscript%3E... más dañino y con mejor soporte?)

    
respondido por el bobince 07.08.2014 - 14:51
fuente
0

Intente codificar la URL con el carácter / con la representación hexadecimal %2F .

    
respondido por el Nicholas Andre 06.08.2014 - 23:08
fuente
0

Elimine toda la sección %20path=/ : el encabezado de respuesta HTTP debe establecer todo en el nivel raíz.

Si eso no funciona dentro de meta http-eqiv , intente con la versión codificada en HTML de la ruta, ya que el contenido en HTML debería estar correctamente decodificado ( / ).

Alternativamente, podría inyectar JavaScript para establecer la cookie a través del script del lado del cliente y establecer la ruta mediante la codificación de la entidad ( \x2f ).

    
respondido por el SilverlightFox 06.08.2014 - 23:33
fuente

Lea otras preguntas en las etiquetas