http post DOS 漏洞原理和利用方法

概述

http-post-dos攻击是一个影响很大的拒绝攻击漏洞

漏洞形成原因

在发送HTTP POST包时,指定一个非常大的Content-Length值,然后以很低的速度发包,比如10~100s发一个字节,保持住这个连接不断开。这样当客户端连接数多了以后,占用住了Web Server的所有可用连接,从而导致了拒绝服务攻击。

漏洞利用原理

首先构造一个大Content-Length值的完整请求:

"POST / HTTP/1.1
"Host: host
"Connection: keep-alive
"Keep-Alive: 900
"Content-Length: 100000000
"Content-Type: application/x-www-form-urlencoded
"Accept: *.*
"User-Agent: Mozilla/4.0 (compatible; MSIE 11.0; Windows NT 9.5;Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.503l3; .NET CLR 3.0.4506.2152;.NET CLR 3.5.30729; MSOffice 12)

由于HTTP Requst Header中有设置Keep-Alive,且请求的Method为POST,故服务器在收到该请求后,会等待客户端发送POST数据,此时客户端再以很低的速度向服务器发送数据。当构造多个连接后,服务器的连接数很快就会达到上限。

附上测试工具一枚 链接: http://pan.baidu.com/s/1kT4sPZx 密码: g4ty