SlowHTTPTest是一款对服务器进行慢攻击的测试软件。依赖HTTP协议的慢速攻击DoS攻击工具,如果客户端的发送速度缓慢或者发送不完整,服务端为其保留连接资源池占用,大量此类请求并发将导致DoS。
SlowHTTPTest 是一款对服务器进行慢攻击的测试软件,所谓的慢攻击就是相对于 cc 或者 DDoS 的快而言的,并不是只有量大速度快才能把服务器搞挂,使用慢攻击有时候也能到达同一效果。slowhttptest 包含了之前几种慢攻击的攻击方式,包括 slowloris, Slow HTTP POST, Slow Read attack 等。那么这些慢攻击工具的原理就是想办法让服务器等待,当服务器在保持连接等待时,自然就消耗了资源。
Slowhttptest 是依赖 HTTP 协议的慢速攻击 DoS 攻击工具,设计的基本原理是服务器在请求完全接收后才会进行处理,如果客户端的发送速度缓慢或者发送不完整,服务端为其保留连接资源池占用,大量此类请求并发将导致 DoS。
攻击模式
slowloris:完整的 http 请求是以rnrn 结尾,攻击时仅发送rn,少发送一个rn,服务器认为请求还未发完,就会一直等待直至超时。等待过程中占用连接数达到服务器连接数上限,服务器便无法处理其他请求。
slow http post:原理和 slowloris 有点类似,这次是通过声明一个较大的 content-length 后,body 缓慢发送,导致服务器一直等待
slow read attack:向服务器发送一个正常合法的 read 请求,请求一个很大的文件,但认为的把 TCP 滑动窗口设置得很小,服务器就会以滑动窗口的大小切割文件,然后发送。文件长期滞留在内存中,消耗资源。这里有两点要注意:
tcp 窗口设置要比服务器的 socket 缓存小,这样发送才慢。请求的文件要比服务器的 socket 缓存大,使得服务器无法一下子将文件放到缓存,然后去处理其他事情,而是必须不停的将文件切割成窗口大小,再放入缓存。同时攻击端一直说自己收不到。