Vulnerabilidad de XSS en respuesta

-1

Estoy buscando XSS reflectante en un sitio web y he notado que el sitio web utiliza el concepto de escape HTML, por lo que básicamente se escapan los caracteres especiales / no válidos. Así que inyectar no es tan fácil.

Ejemplo: ' se convierte a ' y > se convierte a >

Tenía dos preguntas:

1) ¿Es posible omitir este tipo de filtro?

2) También me he dado cuenta de que cuando se intercepta la respuesta después de que el filtro ha escapado de la carga útil utilizada, el sitio web permite que la respuesta se altere. (Básicamente, le permite al usuario reemplazar la versión escapada de la carga útil que se ve en la respuesta a la carga útil original, por lo tanto, ejecutar la ventana emergente para obtener el nombre de host, cookie, dominio, etc.) Aunque creo que no es exactamente cómo funciona XSS. Todavía puedo obtener información sobre el sitio web.

    
pregunta sectest 02.01.2018 - 11:44
fuente

2 respuestas

2

Con respecto a obtener XSS en esta configuración, donde la respuesta se encuentra dentro del contenido HTML, como dice @snappie, deberías encontrar una vulnerabilidad en la codificación para evitar esto en la mayoría de los casos.

Sin embargo, hay otra opción, es decir, su vector podría estar dentro de contenido de JavaScript o JSON (es decir, no de páginas HTML), en cuyo caso la codificación HTML podría no ser una defensa efectiva.

Recomiendo poner una cadena rastreable como su vector y luego observar todas las ubicaciones en las que aparece el vector, en las respuestas del sitio.

Por ejemplo, si inserta la cadena "LoremIpsum" en varios parámetros que se envían al sitio, puede usar una herramienta proxy para buscar en las respuestas y ver dónde reaparecen esas cadenas (es decir, ¿aparecen solo en HTML o para que aparezcan en otros tipos de respuesta)

Lo que tiendo a hacer es comenzar con una cadena de vainilla sin ningún carácter especial, ya que a veces las aplicaciones eliminan la entrada que contiene caracteres especiales por completo. Eso le da una imagen de inicio y desde allí puede tener una idea de dónde debería aparecer su entrada en las respuestas una vez que comience a fuzz buscando problemas de XSS.

En cuanto a su segundo punto, si está intecepting las respuestas y el código JavaScript de inyección en ese punto, eso es lo que comúnmente se llama "Self-XSS" y generalmente no se considera una vulnerabilidad en el sitio. Sus modificaciones se producen después de que el sitio haya transmitido los datos y, por lo general, esto se mitiga mediante el uso de conexiones cifradas SSL.

    
respondido por el Rоry McCune 02.01.2018 - 13:22
fuente
1

1) ¿Es posible omitir este tipo de filtro?

Solo si encuentra fallas en la implementación del filtro, pero probablemente no. Esta es la defensa por defecto contra XSS. Notarás, por ejemplo, que Google usa la misma táctica.

2) También he notado que cuando se intercepta la respuesta después de que el filtro ha escapado de la carga útil utilizada, el sitio web permite que la respuesta sea manipulada.

Si puede interceptar y editar la respuesta, puede hacer un Man In The Middle Attack . Sin embargo, esto no tiene nada que ver con XSS. XSS solo se produce cuando el propio sitio web devuelve etiquetas HTML incrustadas en los datos proporcionados por el usuario. Si edita la respuesta después de que el sitio web la haya enviado, no es el sitio que "permite" que se edite la respuesta, es otra persona que pretende que el sitio web envíe algo que no hizo.

    
respondido por el Snappie 02.01.2018 - 13:17
fuente

Lea otras preguntas en las etiquetas