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

news2024/12/22 23:17:00

前言

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

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/64596.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java 中重写了 equals 为什么还要重写 hashCode?

问题 不管是在书本或者是博客上,都会推荐我们在重写 equals 方法时重写 hashCode 方法。明明对象之间就是通过 equals 方法进行判断的,那么为什么非要写 hashCode 方法呢? equals 实验 创建一个 Teacher 类。方便起见,就一个 name 属性。…

1.1 异步相关概念:初步了解

1.进程和线程的概念 计算机有5大基本组成部分,运算器,控制器,存储器,输入和输出。运算器和控制器封装到一起,加上寄存器组和cpu内部总线构成中央处理器(CPU)。cpu的根本任务,就是执…

2022年跨境电商卖家如何在Facebook上做广告【完整指南】

关键词:跨境电商卖家、Facebook广告 了解如何在 Facebook 上做广告对于大多数跨境电商卖家来说是一项非常重要的技能,因为您在 Facebook 上做广告,您的广告可以覆盖21.7 亿人——换句话说,接近世界人口的 30%。此外,该…

Java项目:SSM物业缴费管理系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 管理员角色包含以下功能: 管理员登录,管理员管理,住户管理,缴费列表,公告列表管理,用户反馈管理等功能。 用户角色包含以下功能&…

[附源码]计算机毕业设计失物招领微信小程序论文Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

keras-gpu安装

需要安装: TensorFlow 安装(包含cudatoolkit、cuDNN) HDF5 和 h5py (如果你需要将 Keras模型保存到磁盘,则需要这些) graphviz 和 pydot (用于绘制模型图的可视化工具) Keras 一、更新驱动 先升级显卡驱动:https://zh…

【软件测试】测试老鸟老张,我的梦想是什么?梦想还在吗?

目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 老张: 这…

QML + KDDockWidget 实现 tabwidget效果( 窗口可独立浮动和缩放)

前言 前面文章介绍过在QML中使用ListView实现TabBar标签拖拽交换位置效果(文章在这里) 先在此基础上升级一下,结合KDDockWidget做一个可浮动的窗口效果。 关于KDDockWidget的介绍,以前的文章有写过,可参考&#xff…

[附源码]Python计算机毕业设计SSM健身俱乐部管理系统(程序+LW)

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

移动WEB开发之rem布局--rem适配方案

思考 1. 我们适配的目标是什么? 2. 怎么去达到这个目标的? 3. 在实际的开发当中使用? 答案 1. 让一些不能等比自适应的元素,达到当设备尺寸发生改变的时候,等比例适配当前设备。 2. 使用媒体查询根据不同设备按比例…

idea高级调试技巧

前言 对于一名开发者来说,找出并处理掉Bug是不可或缺的能力。能够熟练的调试程序将大大提升开发的效率。学好DeBug,再多Bug也不怕。Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生…

chapter7——处理字节顺序

目录1.定义2.小端模式和大端模式的比较3.处理字节顺序不匹配的问题4.访问32位存储器5.处理字节顺序不匹配6.字节顺序中性代码7.字节顺序中性编码指南1.定义 字节顺序定义数据在计算机系统中的存储格式。它描述存储器中地址的最高有效位(MSB)和最低有效位…

基于百度地图的交通查询的毕业设计(android)

目 录 1 前言 1 1.1 背景 1 1.2 论文主要内容与结构 1 2 基础技术介绍(一) 2 2.1 Android概述 2 2.2 Android架构 2 2.3 Android应用程序类型分析 5 3 基础技术介绍(二) 6 3.1 地图简介 6 3.1.1 地图概念 6 3.1.2 构成…

力扣(LeetCode)97. 交错字符串(C++)

动态规划 状态转移方程 f[[i,j]f[i−1,j]∣∣f[i,j−1]f[[i,j] f[i-1,j]\ ||\ f[i,j-1]f[[i,j]f[i−1,j] ∣∣ f[i,j−1] ,仅当最后一个字符匹配。 class Solution { public:bool isInterleave(string s1, string s2, string s3) {int n s1.size(),m s2.size();…

更够实现输入检验输入框

输入检验输入框 效果展示 概述 本文讲解如何书写&#xff0c;可以根据输入内容的在鼠标失去焦点的时候&#xff0c;进行检验的输入框。 构建HTML框架 <body><div class"register"><input type"password" class"ipt"><p…

「Redis」06 事务与锁机制

笔记整理自【尚硅谷】Redis 6 入门到精通 超详细 教程 Redis——事务与锁机制 1. Redis的事务定义 Redis 事务是一个单独的隔离操作&#xff1a;事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中&#xff0c;不会被其他客户端发送来的命令请求所打断。注意&…

[附源码]Python计算机毕业设计SSM教师业绩考核和职称评审系统(程序+LW)

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

D-024 VGA硬件电路设计

VGA硬件电路设计1 简介2 引脚定义3 硬件电路实战4 硬件设计要点1 简介 VGA&#xff08;Video Graphic Arrary&#xff09;即视频图形阵列&#xff0c;是 IBM(国际商业机器公司)在 1987 年随 PS/2 机一起推出的使用模拟信号的一种视频传输标准&#xff0c;在当时具有分辨率高、…

基于STM32的智能GPS定位系统(云平台、小程序)

背景及目标 前阵子&#xff0c;准确的说是好几个月前买了一辆电瓶车&#xff0c;当时呢因为车停得很随意&#xff0c;所以想给小电驴装一个GPS&#xff0c;一方面是防盗&#xff0c;另一方面是为了测速和绘制骑行轨迹&#xff0c;要是能联动电瓶车状态远程监测就更好了。当然我…

马上年末了,你还不会写测试总结吗?

最近参与了几次面试&#xff0c;面试者的简历中都会提及&#xff1a;需求或者版本测试结束后会进行测试总结&#xff0c;不仅仅提供一份测试报告以及相关文档手册。 于是特意追问了一下&#xff0c;测试总结中都包含什么内容。 答复上基本都是&#xff1a;执行了多少用例、发…