
Scanner come estensione Burp per l'iniezione CRLF e gli attacchi di desincronizzazione HTTP, che utilizza sonde mutate, controlli dei falsi positivi WAF e auto-sfruttamento opzionale dell'avvelenamento della coda di risposta.
Questa è l'estensione Burp che abbiamo utilizzato per rilevare tutti i casi della nostra ricerca CRLF-Powered Desync Attacks: Beheading HTTP Streams.
È uno scanner pensato principalmente per la ricerca, costruito usando BulkScan, simile a HTTP Request Smuggler e altri.
Utilizza tutte le mutazioni definite in src/main/kotlin/ReqMutator per inviare una richiesta benigna e poi una richiesta di probe. Se la risposta contiene una corrispondenza prevista, o differisce in modo significativo, viene segnalato un problema.
Se la risposta contiene tutte le corrispondenze previste, il problema viene segnalato normalmente. Se il diff di fallback è abilitato (usa serverStatus da BulkScan), il problema viene segnalato come Dodgy.
Esiste anche un WAFChecker che usa stringhe statiche per cercare di ridurre i falsi positivi (FP) provenienti dalle regole WAF e una logica di follow-up che garantisce che il comportamento sia coerente o, almeno, molto probabilmente non sia una regola WAF non già presente nella lista del WAFChecker.
Inoltre, c'è un pulsante "auto-exploit via Response Queue Poisoning" che può o meno darti un indizio che RQP funziona subito, senza configurazione.
Inietta un header contenente un canary casuale nel percorso della richiesta e verifica se quell'header viene riflesso negli header della risposta. Se lo è, l'iniezione è confermata e viene segnalato un problema.
Come follow-up, inietta quindi un header Content-Length per vedere se la risposta può essere divisa. Se questo causa un timeout o una modifica del serverStatus, il problema viene aggiornato e segnalato come Splitting?.