La cotización XSS reflejada no está codificada

2

Estoy intentando explotar la URL con un XSS reflejado de la siguiente manera:

http://domain.com/vuln_parm=

El contenido de vuln_parm se devuelve al usuario de la siguiente manera:

<div attrib1="" attrib2="" vulnattrib=""></div>

Esto funciona desde Burp:

http://domain.com/vuln_parm="style="background-image:url(someurl)"

a medida que se envía al usuario como:

<div attrib1="" attrib2="" vulnattrib=""style="background-image:url(someurl)"></div>

El problema es que el servidor no decodifica las comillas. Con Firefox si envío la cadena, Firefox codifica automáticamente las comillas como %22 . El servidor solo refleja el %22 de vuelta. Si uso IE (que no codifica las comillas), el servidor refleja las comillas como " . Sin embargo, IE lo detecta correctamente como XSS y muestra que IE ha modificado esta página para ayudar a prevenir XSS.

¿Alguna idea?

    
pregunta Raul Esteban 28.08.2015 - 21:39
fuente

2 respuestas

3

No puedo decirte qué funcionará porque no tengo la aplicación para probarlo yo mismo. Solo puedo sugerir cosas que deberías probar en tu respuesta.

Prueba:

  • Codificación HTML " en la URL.
  • Doble URL que codifica " en la URL ( %25%32%32 ).
  • Doble URL que codifica " en la URL ( %2522 ).
  • Codificación HTML y luego codificación URL.
  • Combinaciones de los anteriores.
  • Pruebe UTF-7 XSS .
  • Intente construir la URL a partir de una redirección en lugar de a través de la barra de direcciones del navegador. Pruebe diferentes tipos de redireccionamiento: HTTP 3XX, ubicación de JavaScript (intente configurar propiedades diferentes del objeto de ubicación ), meta actualización, redireccionamiento a través de Flash / Silverlight).

Averigüe cómo la aplicación responde a las sondas anteriores. Tal vez no sea posible en absoluto, porque en este caso definitivamente necesita encontrar una forma de evitar la comilla doble para agregar su atributo.

    
respondido por el SilverlightFox 30.08.2015 - 16:40
fuente
0

El navegador IE utiliza su propia función de seguridad para evitar el XSS. El filtro XSS, una característica nueva de Internet Explorer 8, detecta JavaScript en las solicitudes de URL y HTTP POST. Si se detecta JavaScript, el filtro XSS busca evidencia de reflexión, información que se devolvería al sitio web de ataque si la solicitud de ataque se envió sin cambios. Si se detecta un reflejo, el filtro XSS desinfecta la solicitud original para que no se pueda ejecutar el JavaScript adicional.

La respuesta a su pregunta es la URL que está intentando realizar el ataque XSS, se puede explotar ya que el servidor responde con la misma carga útil que se solicita en el parámetro vulnerable.

por favor, vaya a UTF-7 XSS ataca navegadores modernos

    
respondido por el ammy 01.04.2016 - 11:46
fuente

Lea otras preguntas en las etiquetas