Voglio sapere quali sono le principali differenze tra attacchi HTTP GET e POST flood e strategie di mitigazione per entrambi.
Ho cercato molto ma non riesco davvero a trovare alcuni buoni articoli né esempi su questi attacchi.
Quando un client HTTP (ad esempio un browser Web) comunica con un server HTTP (un server Web), invia richieste che possono essere di diversi tipi, le due principali sono GET
e POST
. Una richiesta di GET
è ciò che viene utilizzato per i "link normali", incluse le immagini; tali richieste hanno lo scopo di recuperare una parte statica di dati, l'URL che punta a quel dato. Quando inserisci un URL nella barra degli URL, viene eseguito anche un GET
.
POST
richieste vengono utilizzate con i moduli. Una richiesta di POST
include parametri, che in genere vengono presi dai campi di input sulla stessa pagina.
In caso di flooding, l'utente malintenzionato desidera immergere il server di destinazione in molte richieste, in modo da saturare le sue risorse di calcolo. L'inondazione funziona meglio quando il server assegna molte risorse in risposta a una singola richiesta. Poiché le richieste di POST
includono parametri, di solito attivano elaborazioni relativamente complesse sul server (ad es. Accessi al database), che sono più costose per il server di quelle che offrono un GET
molto più semplice. Pertanto, l'inondazione POST
tende ad essere più efficace di% inondazione basata su% co_de (richiede meno richieste per annegare il server se le richieste sono GET
). D'altra parte, POST
richiede di essere molto più comune, è spesso molto più facile per l'aggressore arruolare (involontariamente) aiuto nel suo sforzo di flooding quando GET
-flooding (come dice @Rory, ci vuole solo un link per un'immagine in linea su un sito popolare e tutti quelli che visitano quel sito inviano automaticamente una richiesta di GET
al server di destinazione).
(Naturalmente, qualsiasi sito Web specifico potrebbe eseguire un sacco di elaborazioni complesse su alcune specifiche richieste di GET
, sto solo discutendo del comportamento medio qui.)
Un problema interessante con HTTP flooding (per qualsiasi tipo di richiesta HTTP) è che tendono a sconfiggere molti IPS (Intrusion Protection Services) perché la maggior parte di essi tende a concentrarsi su attacchi Denial of Service basati su TCP. Puoi scrivere regole IPS per rilevare contro attacchi flood in HTTP, ma devi essere molto cauto perché in alcuni casi è difficile distinguere dal traffico reale.
leggi questo articolo wiki sulle varie forme di metodi di richiesta HTTP. La maggior parte degli sviluppatori che ho incontrato non capiscono che esistono altri metodi oltre a POST e GET.
In realtà l'unica differenza tra questi due sarà il metodo HTTP utilizzato (GET vs POST). In termini di facilità di attacco ci sono più scenari in cui un attacco basato su GET sarebbe pratico (ad esempio l'incorporamento di un'immagine in linea su un sito popolare che si collega al sito di destinazione potrebbe causare un DoS) ma a parte questo se si cerca un generico articoli su attacchi DoS HTTP che probabilmente si applicano ad entrambi allo stesso modo.
Leggi altre domande sui tag http attacks denial-of-service flooding