Cómo explotar una salida p que filtra los corchetes pero nada más

1

(Explicando ampliamente para no divulgar accidentalmente información del sitio web) Encontré un sitio web que tiene un área para ingresar texto y ese texto se envía a través de una solicitud PUT y se envía a < p > etiquetas

Por lo que sé, la solicitud solo filtra los corchetes angulares, y no se filtran otros caracteres. Además, la etiqueta < p > Las etiquetas analizan Unicode, pero no lo ejecutan.

¿Hay alguna forma de explotar esto? XSS no parece ser una opción con el filtro de corchete, pero parece que, como no tiene filtro, debería haber alguna forma de explotarlo.

Si te estás preguntando, la solicitud PUT está protegida por token, por lo que no puedo omitir el filtro con él.

    
pregunta Jack 20.02.2017 - 16:21
fuente

1 respuesta

2

Sin condiciones previas especiales (códecs inusuales, etc.), <p>$XSS</p> solo es vulnerable a XSS si se permiten los soportes de ángulo de apertura.

Sin crear una etiqueta, no puede inyectar contenido que sea significativo para el analizador HTML de su navegador. Todo lo demás, incluido Unicode de lujo, solo se trata como datos simples. Sin embargo, podría hacer conjeturas acerca de cómo el servidor prospera los datos para lograr XSS. Por ejemplo, tal vez el servidor convierte (FULLWIDTH LESS-THAN SIGNO A% SEPARO U+FF1C ) en un corchete angular real en el camino, o tal vez &lt; se convierte nuevamente a < por alguna extraña razón. en la naturaleza, pero no hay indicios de que estos trucos funcionen en su caso.

  

XSS no parece ser una opción con el filtro de corchetes, pero parece que, como no tiene filtro, debería haber alguna forma de explotarlo.

¿Qué otras vulnerabilidades del lado del cliente esperan encontrar aquí? Además de XSS, mantener caracteres Unicode a menudo es necesario para la localización y no causa ningún problema de seguridad evidente cuando se imprime en un cuerpo HTML.

Dicho esto, permitir un Unicode arbitrario puede ser bastante molesto (PoC: ก็็็็็็็็็็็็็็็็็็็็ &) por lo que muchos sitios web sociales (por ejemplo, Facebook, Twitter) limitan los caracteres permitidos. Así es como se presenta en Firefox:

    
respondido por el Arminius 20.02.2017 - 18:13
fuente

Lea otras preguntas en las etiquetas