上次有个知乎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拒绝服务,经过一些列的倒腾,终于实验成功了。

a959329c333a1de0ad7865102b25c393.png

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

39d35d603c1900a46e4619b4cc8dac36.png

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

634ece4a98e29171f0f64c2c3758cdf4.png

实验验证rudy的步骤如下:

第一步:直接对我的蜜罐服务器进行慢速http攻击

04ac1575edc90a58b7ebc0ecb169611a.png

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

5b2a71dcf9797e77cf4045e1f233374a.png

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

4c9e7481eb2bb8b849206ca4ef0006ae.png

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

d9c0c796ba53db993781d37754deb691.png

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

16d71a95c03e47abcafd42b3a5e2a037.png

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

f5c4879558635cab556fb234a1deae18.png

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐