¿Cómo puedo explotar una aplicación web si el rastreo de contenido no está deshabilitado?

4

Acabo de encontrar uno de los sitios web del cliente para las pruebas de penetración con JSON callback que refleja la entrada del usuario en el cuerpo de la respuesta.

como este:

https://example.com/somepage?callback=<wow>mypayload

{"callback":"mypayload"} 

Como el tipo de contenido es application / JSON , por lo tanto, el navegador no analiza las etiquetas HTML y también X-Content-Type-Options = nosniff " no está configurado en el encabezado de respuesta.

¿Es posible crear una carga útil explotable que resulte en XSS u otro tipo de vulnerabilidad ?

    
pregunta dossi 11.12.2015 - 09:41
fuente

1 respuesta

3

Content-Type es solo una sugerencia de los datos proporcionados al receptor (consumidor). Esto significa que el receptor puede o no tomar medidas en función de ese encabezado.

Un navegador típico leerá el encabezado de tipo de contenido para representar el contenido de la mejor manera posible (JSON como árbol, flujo de audio como reproductor, etc.). Intente enviar una cadena JSON a un navegador con Content-Type: application/json y sin. Misma carga recibida, diferente presentación.

Una aplicación genérica hará lo que quiera con el contenido. En particular, puede decidir mostrarlo (o partes de) como HTML sin formato. En ese caso, si su carga útil incluye JavaScript formateado correctamente, se ejecutará.

Esto no es diferente del endurecimiento clásico de la aplicación. La regla de oro es nunca confíes en nada de lo que recibas . Esto incluye no solo el cuerpo de su consulta HTTP sino también los encabezados.

Como nota al margen, el contenido malicioso puede llegar a sus datos no solo a través de lo que recibe y procesa. Alguien también puede modificar, por ejemplo, los datos que se almacenan en su base de datos directamente en la base de datos. Por lo tanto, la necesidad absoluta de escapar de lo que se envía al destinatario, que es en última instancia, cómo se realizan los ataques XSS (y similares).

    
respondido por el WoJ 11.12.2015 - 17:09
fuente

Lea otras preguntas en las etiquetas