it-swarm.dev

Cosa sono gli attacchi HTTP GET / POST flood?

Voglio sapere quali sono le principali differenze tra HTTP GET e POST inondazioni e strategie di mitigazione per entrambi.

Ho cercato molto, ma non riesco davvero a trovare alcuni buoni articoli né esempi su questi attacchi.

10
user19775

Quando un client HTTP (ad esempio un browser Web) parla con un server HTTP (un server Web), invia richieste che possono essere di diversi tipi, i due principali sono GET e POST. Una richiesta GET è ciò che viene utilizzato per "collegamenti normali", comprese le immagini; tali richieste hanno lo scopo di recuperare un dato statico, l'URL che punta a quel dato. Quando si immette un URL nella barra degli URL, viene anche eseguito un GET.

POST richieste vengono utilizzate con i moduli. Una richiesta POST include parametri, che di solito sono presi dai campi di input nella stessa pagina.

In caso di allagamento, l'utente malintenzionato desidera immergere il server di destinazione in molte richieste, in modo da saturare le sue risorse di elaborazione. Il flooding funziona meglio quando il server alloca molte risorse in risposta a una singola richiesta. Poiché le richieste POST includono parametri, in genere attivano un'elaborazione relativamente complessa sul server (ad es. Accessi al database), che sono più costosi per il server rispetto a servire un GET molto più semplice. Pertanto, l'inondazione basata su POST tende ad essere più efficace dell'inondazione basata su GET (sono necessarie meno richieste per annegare il server se le richieste sono POST). D'altra parte, GET richiede di essere molto più comune, spesso è molto più facile per l'attaccante ottenere aiuto (involontario) nel suo sforzo di alluvione quando GET- allagamento (come dice @Rory, prende solo un collegamento per un'immagine incorporata su un sito popolare e tutti coloro che visitano quel sito inviano automaticamente una richiesta GET al server di destinazione).

(Naturalmente, qualsiasi sito Web in particolare potrebbe eseguire molte elaborazioni complesse su alcune specifiche GET richieste; sto solo discutendo il comportamento medio qui.)

18
Thomas Pornin

Un problema interessante con l'inondazione HTTP (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 TCP. Puoi scrivere IPS per rilevare gli attacchi alluvione HTTP ma bisogna stare molto attenti perché sono difficili da distinguere dal traffico reale in alcuni casi.

leggi questo articolo wiki sulle varie forme di metodi di richiesta HTTP. La maggior parte degli sviluppatori che ho incontrato non si rende conto che esistono altri metodi oltre a POST e GET.

4
Callum Wilson

Davvero 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 sul GET sarebbe pratico (ad esempio incorporare un'immagine in linea in un sito popolare che si collega al sito di destinazione potrebbe causare un DoS) ma a parte questo se si cerca un generico articoli sugli attacchi DoS HTTP che probabilmente applicheranno ad entrambi allo stesso modo.

2
Rory McCune