前言
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。(说是写其实就是从做的课程实验搬过来罢了嘻嘻嘻)