【Dos】常见的Dos攻击
文章目录
- 1.Dos攻击
- 2.常见的Dos攻击
- 2.1 TCP SYN泛洪
- 2.2 UDP泛洪
- 2.3 ping泛洪
- 2.4 缓冲区溢出
- 2.5 ICMP路由重定向炸弹
- 2.6 分片炸弹
1.Dos攻击
Dos(Denial of Service):拒绝服务,用数据包淹没本地系统,使系统过于忙碌而不能执行有用的业务并且占尽关键系统资源,甚至使系统崩溃。
2.常见的Dos攻击
2.1 TCP SYN泛洪
TCP SYN泛洪是利用TCP建立连接时需要进行三次握手的过程,并结合IP源地址欺骗实现的。
攻击者将其自身的源地址伪装成一个私有地址向本地系统的TCP服务发起连接请求,本地TCP服务回复一个SYN-ACK作为响应,然而该响应发往的地址并非攻击者的真实地址,而是攻击者伪装的私有地址。由于该私有地址是不存在于本地服务器所在的网络的,所有本地系统将收不到RST消息(以结束这个半打开连接)。本地TCP服务接下来要等待接收一个ACK回应,但是该回应永远不会到来,该半打开连接会保持打开状态直至连接尝试超时,因此有限的连接资源被消耗了。攻击者连接请求的到来比TCP超时释放资源更快,利用一次又一次的连接请求淹没本地连接资源(如通过listen()创建的大小有限的连接队列等),以致本地服务无法接收更多的连接请求。
Linux操作系统中的SYN cookie模块能显著的延缓SYN泛洪造成的网络资源缺失现象:在TCP服务接收到TCP SYN包并返回SYN-ACK时,不分配一个专门的数据区,而是根据这个SYN包计算一个cookie值。cookie值是一个基于SYN中的原始序列号、源地址、目的地址、端口号、密值而产生的序列号。cookie作为将要返回的SYN-ACK的初始序列号,当客户返回一个ACK包,TCP服务在根据cookie值检查该ACK包的合法性,再分配专门的数据区进行处理接下来操作。cookie的超时时间很短暂,客户端必须在很短时间内进行应答。
执行 echo 1 > /proc/sys/net/ipv4/tcp_syncookies 可以开启Linux内核的SYN cookie功能。ps:一些发行版需要配置内核才能开启。
2.2 UDP泛洪
不同于TCP,UDP是无状态的,没有任何信息被维护以指明下一个期望到来的数据包,所以UDP服务更易受这些类型攻击的影响,许多站点都禁止用所有非必要的UDP端口。
2.3 ping泛洪
攻击者通过ping发送的ICMP的echo请求消息也是常见的DoS攻击方式之一,其原理是强制让系统消耗大多数时间进行无用的应答,降低系统网络质量。主要实现的方法有:①将ping包的源地址伪装成受害者的地址并向整个主机所在的网络广播echo请求,造成大量响应发送到受害者的机器;②通过互联网在受害者机器安装木马程序并在某时刻向某主机发送大量echo请求;③攻击者发送更多简单的ping泛洪来淹没数据连接。
一种更为古老的攻击方式叫做死亡之ping,攻击者会发送巨大的ping数据包给受害机器,易受攻击的系统可能因此崩溃,Linux等类UNIX系统并没有此漏洞。对于受害主机来说,丢弃ping请求并不是一个很好的解决方案,因为不论是对到来的ping包做什么反应,系统或者网络依旧会被淹没在检测/丢弃数据包的过程中。
2.4 缓冲区溢出
缓冲区溢出攻击是无法通过过滤防火墙进行保护的,通过覆盖程序的数据空间或者运行时的堆栈导致系统或者服务崩溃,这需要专业技术以及对硬件、系统软件的了解。举个例子,早期有服务器程序使用了sprintf()函数而被攻击者攻击,因为缓冲区溢出而使得程序崩溃,所以更为妥当的做法是使用snprintf()代替sprintf()。
2.5 ICMP路由重定向炸弹
我们知道ICMP的消息类型中的类型5是告知目标系统改变内存中的路由表以获得更短的路由,以通知主机有更多的路径可用。重定向很少发源主机附近的路由器,对于连接到ISP(运营商)的住宅或商用站点来说,主机附近的路由器产生一个重定向的ICMP消息可能性非常小。如果我们主机使用静态路由且收到了重定向消息,这可能是有人在攻击我们系统,欺骗主机以转发所有流量到另一远处主机处。
2.6 分片炸弹
我们知道数据包从一个路由器到下一个路由器时,网关路由器可能需要在它们进行传递到下一个网络前将数据包分切为更小的片段(超过MTU值会被分片),在这些片段里第一个分片会包含UDP或者TCP报头中的源端口号和目的端口号,接下来的分片并不包含。当数据包被分片时中间路由器不会重组数据包,数据包到达目的主机或邻近路由器时才会重新组装。
分片炸弹的实现是构造一种非常小的数据包导致系统或者程序崩溃的操作:比如构造一个最初的分片使得UDP或者TCP的源端口和目的端口被包含在第二个分片中。许多防火墙并不检查第一个分片之后的分片,然而第一个分片由于防火墙所要过滤的信息还未呈现,所以得以通过,那么最终所有分片都在主机中得以组装。
另外,因为中间进行分片基本上比发送更小的分片的数据包代价更高,所以一般会在发送在IP报头中设置了不分片标志,设置后系统会向目标主机发起连接前进行MTU发现,如果中间路由器必须对数据包进行分片那么它会丢弃数据包并回应ICMP错误消息,即“需要分片”。
【Dos】常见的Dos攻击相关推荐
- DoS的SYN泛洪攻击,原理及解决方案,学到就是赚到!
DoS的相关概念 DoS: 也就是我们所说到的拒绝服务,一切能够引起DoS行为的攻击都被称为DoS攻击,该攻击的效果是使得计算机或者网络无法提供正常的服务. DoS攻击: 指的是造成DoS的攻击行为, ...
- (Yuni)2021-02-16常见的DOS命令使用
常见的DOS命令使用 盘符切换 E: 查看当前目录下的全部文件 dir 切换目录 cd /d (change directory) 返回上一级 cd - 清理屏幕 cls (clear screen) ...
- Java基础:01Java语言概述(常见的DOS命令,Java语言的特点、核心机制、环境搭建,HelloWorld,注释,Java API 文档)
Java基础:01Java语言概述 一.常见的DOS命令 二.Java语言的特点 面向对象性 健壮性 跨平台型 三.Java两种核心机制 1. Java虚拟机 2. 垃圾回收 四.Java语言的环境搭 ...
- java day1 Markdown学习,Windows常用快捷键及常见的dos命令
Markdown基本操作 标题设置 标题的大小设置,一级标题在内容前加一个"#",再添加空格,"#"颜色变灰输入标题内容回车即可 二级标题加两个"#& ...
- 常见的DOS命令及作用
常见的DOS命令及作用 打开DOS窗口 开始菜单---->Windows系统---->命令提示符 win键+R---->输入cmd---->enter(推荐使用) 在电脑桌面任 ...
- 关于常见的DOS命令
一.首先我们通过windows+R显示运行框,再输入"cmd"进入DOS命令窗口 二.常见的DOS命令 1.dir--显示指定路径上所有文件或目录的信息 2.cd--进入指定目录 ...
- win11的高级系统设置在什么地方以及常见的dos命令
1.win11的环境变量的位置 刚升级了win11,在找"高级系统设置"的时候,没找到.当然可以直接搜索,但是,我想知道它到底在哪里. 高级系统设置,在设置里,在系统里找,最后在最 ...
- 如何对PHP程序中的常见漏洞进行攻击(上)
如何对PHP程序中的常见漏洞进行攻击(上) 创建时间:2001-07-17 文章属性:翻译 文章来源:http://www.china4lert.org 文章提交:analysist (analysi ...
- 几种常见的Web攻击
几种常见的Web攻击 文章目录 几种常见的Web攻击 一.DoS攻击 1.SYN洪水攻击 2.IP欺骗 3.Land攻击 4.针对DoS攻击的防御 二.CSRF攻击 1. CSRF攻击的发生有三个必要 ...
最新文章
- ⑨③-不能浪费拥有的年轻资本
- k8s 命令 重启_快速入门Kubernetes(K8S)——资源清单
- 信息系统项目管理师-项目风险管理考点笔记
- python 惰性_Django中的“惰性翻译”方法的相关使用
- 自己架设手机网游_起来,不愿做网游的奴隶!
- 无极菜单 php,ThinkPHP菜单无极分类 ThinkPHP菜单无极分类实例讲解
- 初学java---第二课《接收控制台(console)输入的方法》
- 【转载】网络流和最小费用流
- MyBatis知多少(8)关系型数据库
- 计算机程序的思维逻辑 (54) - 剖析Collections - 设计模式
- ajax兼容写法,Ajax的兼容性问题
- HTML5前端开发就业前景,高薪背后的原因分析!
- Linux下的JDK1.5安装
- Distinct去除集合中的重复项GetHashCode方法没有返回obj.GetHashCode()导致出错
- ffmpeg解码H264文件并实时播放
- cad汉仪长仿宋体_hzcf.shx字体下载
- 电商双十一调查数据分析报告
- 参考三:容易误解读的量子擦除实验
- vue移动端深坑之微信浏览器相关优化方案
- 使用阿里云的短信服务发送短信