
Escáner de extensión de Burp para inyección CRLF y ataques de desincronización HTTP, mediante sondas mutadas, comprobaciones de falsos positivos de WAF y autoexplotación opcional de envenenamiento de cola de respuestas.
Esta es la extensión de Burp que usamos para detectar todos los casos de nuestra investigación CRLF-Powered Desync Attacks: Beheading HTTP Streams.
Es un escáner orientado a la investigación construido con BulkScan, similar a HTTP Request Smuggler y otros.
Utiliza todas las mutaciones definidas en src/main/kotlin/ReqMutator para enviar una solicitud benigna y luego una de prueba. Si la respuesta contiene una coincidencia esperada, o difiere significativamente, se informa de un problema.
Si la respuesta contenía todas las coincidencias esperadas, el problema se informa como normal. Si el diff de respaldo está habilitado (utiliza serverStatus de BulkScan), el problema se informa como Dodgy.
También hay un WAFChecker que utiliza cadenas estáticas para intentar reducir los falsos positivos (FP) de las reglas WAF y una lógica de seguimiento que garantiza que el comportamiento sea consistente o, al menos, que muy probablemente no sea una regla WAF que no esté ya en la lista del WAFChecker.
Además, hay un botón de "autoexplotación mediante Response Queue Poisoning" que puede o no darte una pista de que RQP funciona sin configuración adicional.
Inyecta una cabecera que contiene un canario aleatorio en la ruta de la solicitud y comprueba si esa cabecera se refleja en las cabeceras de la respuesta. Si es así, se confirma la inyección y se informa de un problema.
Como seguimiento, a continuación inyecta una cabecera Content-Length para ver si la respuesta se puede dividir. Si esto provoca un timeout o un cambio en serverStatus, el problema se actualiza y se informa como Splitting?.