Cache Poisoning to DoS
In questa pagina puoi trovare diverse variazioni da provare per far sì che il server web risponda con errori alle richieste che sono valide per i server cache
Dimensione Eccessiva dell'Intestazione HTTP (HHO)
Invia una richiesta con una dimensione dell'intestazione maggiore di quella supportata dal server web ma minore di quella supportata dal server cache. Il server web risponderà con una risposta 400 che potrebbe essere memorizzata nella cache:
Carattere Meta HTTP (HMC) e valori inaspettati
Invia un'intestazione che contenga alcuni caratteri meta dannosi come e . Perché l'attacco funzioni, devi prima aggirare la cache.
Un'intestazione configurata male potrebbe essere semplicemente \:
come intestazione.
Questo potrebbe funzionare anche se vengono inviati valori inaspettati, come un Content-Type inaspettato:
Intestazione non chiave
Alcuni siti web restituiranno un codice di stato di errore se vedono alcune intestazioni specifiche nella richiesta come con l'intestazione X-Amz-Website-Location-Redirect: someThing:
Attacco di Override del Metodo HTTP (HMO)
Se il server supporta la modifica del metodo HTTP con intestazioni come X-HTTP-Method-Override
, X-HTTP-Method
o X-Method-Override
. È possibile richiedere una pagina valida modificando il metodo in modo che il server non lo supporti e restituisca una risposta errata che viene memorizzata nella cache:
Porta non chiave
Se la porta nell'intestazione Host viene riflessa nella risposta e non è inclusa nella chiave della cache, è possibile ridirigerla verso una porta non utilizzata:
Long Redirect DoS
Come nell'esempio seguente, x non viene memorizzato nella cache, quindi un attaccante potrebbe abusare del comportamento di risposta del reindirizzamento per far sì che il reindirizzamento invii un URL così grande da restituire un errore. Quindi, le persone che cercano di accedere all'URL senza la chiave x non memorizzata nella cache riceveranno la risposta di errore:
Normalizzazione del caso dell'intestazione host
L'intestazione host dovrebbe essere case-insensitive, ma alcuni siti web si aspettano che sia in minuscolo restituendo un errore se non lo è:
Normalizzazione del percorso
Alcune pagine restituiranno codici di errore inviando dati URLencode nel percorso, tuttavia, il server cache decodificherà l'URL del percorso e memorizzerà la risposta per il percorso decodificato:
Fat Get
Alcuni server di cache, come Cloudflare, o server web, bloccano le richieste GET con un corpo, quindi questo potrebbe essere abusato per memorizzare una risposta non valida:
Riferimenti
Last updated