上次有个知乎er,在我一年前的拒绝服务DDoS文章下面评论,提到慢速http拒绝服务rudy。rudy的全名叫R-U-Dead-Yet,它有2种模式,一种是互动菜单模式,另一种是配置模式。我使用的是互动菜单模式。先看慢速拒绝服务原理,这是华为的企业安全论坛给出的解释[1]。
HTTP慢速攻击是利用HTTP现有合法机制,在建立了与HTTP服务器的连接后,尽量长时间保持该连接,不释放,达到对HTTP服务器的攻击。
Slow POST:
攻击者发送Post报文向服务器请求提交数据,将总报文长度设置为一个很大的数值,但是在随后的数据发送中,每次只发送很小的报文,这样导致服务器端一直等待攻击者发送数据。
Slow headers:
攻击者通过GET或者POST向服务器建立连接,但是HTTP头字段不发送结束符,之后发送其他字段进行保活。服务器会一直等待头信息中结束符而导致连接始终被占用。
这是我的蜜罐,现在用来示范rudy慢速http拒绝服务,经过一些列的倒腾,终于实验成功了。

这是还没有进行rudy慢速拒绝服务的时延,187ms。

开启rudy,大约10分钟后,再看时延188ms,犹如蚍蜉撼大树。

实验验证rudy的步骤如下:
第一步:直接对我的蜜罐服务器进行慢速http攻击

第二步:选择给予http 慢速拒绝服务的post表单

第三步:连接数直接用默认的50、代理也是默认的没有

通过wireshark抓包,我们可以看到全程只发送了2个http请求,还都是get请求,貌似看不出来有什么问题。

再仔细看看出现了大量的TCP交互报文,却都是只有1个字节,这就是Slow headers模式的慢速拒绝服务啦。

最后,我终止了rudy慢速http攻击,出现了大量的500服务端错误。
