Slow POST Attack

Class: Applicative

Category: Layer 7 (Application Layer) DDoS

Alternative Names: Slow HTTP POST, R-U-Dead-Yet (RUDY)


A Slow POST attack is a type of application-layer DDoS attack that exploits the way web servers handle HTTP POST requests. Instead of overwhelming a server with a flood of requests, this attack operates by sending a legitimate-looking HTTP POST request with a declared large content length—but transmitting the actual body of the request extremely slowly, often byte by byte.


The goal is to tie up server resources, keeping connections open for as long as possible. Since many web servers allocate memory and processing resources per open connection, a small number of Slow POST requests can exhaust available server threads or connection pools—leading to service degradation or complete unavailability.


Attack Mechanism

  1. The attacker sends a valid HTTP POST request header with a large Content-Length value (e.g., Content-Length: 1000000).

  2. The body of the request is then transmitted extremely slowly—sometimes at rates of one byte every 10 seconds.

  3. Because the request is incomplete, the server keeps the connection open, expecting more data.

  4. This behavior is repeated across multiple connections, eventually exhausting the server’s connection pool or thread resources.

  5. Legitimate users are then unable to establish new connections or complete their own requests.


Unlike high-rate DDoS attacks, this is a low-bandwidth but highly effective denial tactic—especially dangerous to web applications with blocking or threaded request processing models.


Indicators of Attack

  • High number of open POST connections with low data transfer rates.

  • Anomalies in request completion times or hanging POSTs.

  • Servers running out of worker threads or max connections.

  • Web server logs showing high Content-Length headers with low actual body data.


Mitigation Strategies

  • Connection Timeouts: Set aggressive read and header timeouts (e.g., RequestReadTimeout in Apache).

  • Rate Limiting: Detect and limit connections with suspiciously low transfer rates.

  • Reverse Proxies and WAFs: Use reverse proxies like nginx or Cloudflare, which handle connections asynchronously and can drop slow clients.

  • Anomaly Detection: Implement behavioral analysis or ML-based filters to catch slow POST patterns.

  • Asynchronous Server Architectures: Prefer event-driven or async-based web servers (e.g., nginx, Node.js) to reduce resource usage per connection.


by Sergei Penchuk, CISSP

Popular posts from this blog

Startups Need to Cyber Up as Early as Pre-Seed!

DDoS Attacks on Enterprises Surge

Understanding SCA in Few Sentences