¿Qué son los ataques de inundación HTTP GET / POST?

10

Quiero saber cuáles son las principales diferencias entre los ataques de inundación HTTP GET y POST y las estrategias de mitigación para ambos.

Busqué mucho, pero realmente no puedo encontrar buenos artículos ni ejemplos sobre estos ataques.

    
pregunta user19775 17.01.2013 - 13:20
fuente

3 respuestas

18

Cuando un cliente HTTP (por ejemplo, un navegador web) habla con un servidor HTTP (un servidor web), envía solicitudes que pueden ser de varios tipos, las dos principales son GET y POST . Una solicitud GET es lo que se usa para los "enlaces normales", incluidas las imágenes; estas solicitudes están destinadas a recuperar un dato estático, la URL que apunta a ese dato. Cuando ingresas una URL en la barra de URL, también se realiza un GET .

Las solicitudes

POST se utilizan con los formularios. Una solicitud POST incluye parámetros, que generalmente se toman de los campos de entrada en la misma página.

Al inundar, el atacante desea sumergir el servidor de destino en muchas solicitudes, para saturar sus recursos informáticos. La inundación funciona mejor cuando el servidor asigna muchos recursos en respuesta a una sola solicitud. Dado que las solicitudes de POST incluyen parámetros, generalmente activan un procesamiento relativamente complejo en el servidor (por ejemplo, accesos a bases de datos), que son más costosos para el servidor que servir un GET mucho más simple. Por lo tanto, la inundación basada en POST tiende a ser más efectiva que la inundación basada en GET (se requieren menos solicitudes para ahogar el servidor si las solicitudes son POST ). Por otro lado, GET solicita que sea mucho más común, a menudo es mucho más fácil para el atacante reclutar (involuntariamente) ayuda en su esfuerzo de inundación cuando GET -flooding (como dice @Rory, solo se necesita un enlace para una imagen en línea en un sitio popular, y todos los que navegan por ese sitio envían automáticamente una solicitud GET al servidor de destino).

(Por supuesto, cualquier sitio web en particular podría hacer mucho procesamiento complejo en algunas solicitudes específicas de GET ; solo estoy discutiendo el comportamiento de promedio aquí)

    
respondido por el Thomas Pornin 17.01.2013 - 14:03
fuente
4

Un problema interesante con la inundación de HTTP (para cualquiera de los tipos de solicitud HTTP) es que tienden a anular muchos IPS (servicios de protección contra intrusiones) porque la mayoría de ellos tiende a concentrarse en los ataques de denegación de servicio basados en TCP. Puede escribir reglas IPS para detectar ataques de inundación HTTP, pero uno tiene que ser muy cuidadoso porque en algunos casos es difícil distinguirlos del tráfico real.

lea este artículo de wiki sobre las diversas formas de métodos de solicitud HTTP. La mayoría de los desarrolladores con los que me he cruzado no se dan cuenta de que existen otros métodos distintos a POST y GET.

    
respondido por el Callum Wilson 17.01.2013 - 15:54
fuente
2

Realmente, la única diferencia entre estos dos será el método HTTP utilizado (GET vs POST). En términos de facilidad de ataque, hay más escenarios en los que un ataque basado en GET sería práctico (por ejemplo, incrustar una imagen en línea en un sitio popular que enlaza con el sitio de destino podría causar un DoS), pero aparte de eso, si busca genéricos artículos sobre ataques DoS HTTP que probablemente se apliquen a ambos por igual.

    
respondido por el Rоry McCune 17.01.2013 - 13:42
fuente

Lea otras preguntas en las etiquetas