Slowloris DoS攻击的原理与简单实现

前言

       Slowloris 攻击是我在李华峰老师的书——《Metasploit Web 渗透测试实战》里面看的,感觉既简单又使用,现在这种攻击是很容易被防护的啦。不过我也不敢真刀实战的去试,只是拿个靶机玩玩罢了。

         废话还是写在结语里面吧。(划掉)结语可以不看(划掉)

Slowloris攻击的原理

        Slowloris 是一种资源消耗类DoS攻击,它利用部分HTTP请求进行操作。也叫做慢速攻击,这里的慢速并不是说发动攻击慢,而是访问一条链接的速度慢。Slowloris攻击的功能是打开与目标Web服务器的连接,然后尽可能长时间的保持这些连接打开。如果由多台电脑同时发起Slowloris攻击,那么这个时候就可以叫做DDoS攻击了。(在b站看的,不对望指出)

        例如,一间饭店中突然来了一群客人,他们每个人占用一张餐桌,只点一个菜,如果服务员去催促他们,他们会再点一个菜,就这样一直占用着餐桌,从而导致饭店无法继续正常营业。

Slowloris攻击前的准备

        在发起攻击之前,我们需要找到一个靶机,也就是攻击目标。在这里,我是使用

Metasploitable2作为靶机。(需要使用到虚拟机,使用教程看这篇博客:点击这里

        将靶机启动后并使用ifconfig命令查看靶机的ip地址:

        然后我们使用主机的浏览器输入这个ip地址:

        可以看到,现在我们可以正常的访问靶机的这个网站。

使用kali虚拟机发起攻击

        发动Slowloris攻击有很多种方式,在这里我使用的是kali中的Metasploit。(安装kali虚拟机的教程自己去找吧,相信有兴趣看这篇博客的同学都是对网络安全感兴趣的)(我使用的虚拟机时VMware)        

        我们启动kali虚拟机后,打开漏洞利用工具集中的Metasploit framework:

        输入密码(就是kali的登录密码)进行登录:

        找到Slowloris模块并使用:

在图中的options中

Delay:表示一条维持一条链接的时间,也就是延时

Rhost:表示要攻击的目标ip

Rpost:表示发起攻击使用的端口,默认为80

Sockets:用来指定要发起的连接数量,默认是150

        接下来,我们设置好要攻击的目标ip,使用run命令开始发动攻击:

        可以看到,发起攻击后,靶机的网页无法进行刷新:

        

        以上就是Slowloris攻击的一次攻击过程。(很浅显的啦)

如何防护Slowloris攻击

1、提高服务器可用性:增加服务器在任何时候允许的最大客户端数量,这会增加攻击者在服务器过载之前必须建立的连接数量

2、限制传入请求个数:限制单个IP 地址允许建立的最大连接数

3、基于云的保护:使用可以充当反向代理的服务,在开始向源服务器发送任何内容之前缓冲传入请求,保护源服务器。

4、限制HTTP头部传输的最大许可时间:超过指定时间HTTP Header还没有传输完成,直接判定源IP地址为慢速连接攻击,中断连接并加入黑名单。

参考文献

[1] 李华峰.Metasploit Web 渗透测试实战[M].人民邮电出版社.2022.2

[2] https://zhuanlan.zhihu.com/p/457460501

[3] https://zhuanlan.zhihu.com/p/269119808

结语        

        半年多没写博客了,主要是懒,有些拖延症了。平时并没有很忙,专业分流的时候,我本来是选计科的,但是最后改了信安。信安的学习确实很广,很泛,学习都比较水了,所以我这一个学期感觉啥也没学就结束了(再过一周就结课了)。这学期我也是试着了解信安专业的比赛——ctf啦,参加了两个比赛,结果初赛都没过,更别说参加最后的夺旗赛了。不过我也是找了个网站刷了一下题啦,然后发现,这个比赛真的很看基础,光是杂项我就刷了挺久。花的时间基本都是去找工具,找wp这些上面,不过也很增长我的知识面(也确认了我菜的事实)。废话就到这里啦,等下我还要再写一篇python网络爬虫的blog。(说是写其实就是从做的课程实验搬过来罢了嘻嘻嘻)

        

猜你喜欢

转载自blog.csdn.net/xiexieyuchen/article/details/128192251