• 典型的DOS攻击技术


    1、ping of death攻击

    Ping是一个非常著名的程序,这个程序的目的是为了测试另一台主机是否可达。现在所有的操作系统上几乎都有这个程序,它已经成为系统的一部分。
    Ping程序的目的是为了查看网络上的主机是否出于活动状态。
    通过发送一份ICMP回显请求报文给目的主机,并等待返回ICMP回显应答,根据回显应答的内容判断目的主机的状况。
    Ping之所以会造成伤害是源于早期操作系统在处理ICMP协议数据包存在漏洞。
    ICMP协议的报文长度是固定的,大小为64KB,早期很多操作系统在接收ICMP数据报文的时候,只开辟64KB的缓存区用于存放接收到的数据包。一旦发送过来的ICMP数据包的实际尺寸超过64KB,操作系统将受到是数据报文向缓存区填写时,报文长度大于64KB,就会产生一个缓存溢出,结果将导致TCP/IP协议堆栈的崩溃,造成主机的重启或是死机。

    2、Teardrop 攻击

    Teardrop攻击又叫泪滴攻击也被称为分片攻击,它是一种典型的利用TCP/IP协议的问题进行拒绝服务攻击的方式,是基于UDP的病态分片数据包的攻击方法,其工作原理是向被攻击者发送多个分片的IP包,未来路能在到达目标主机后进行数据重组,IP包的TCP首部中包含有分片识别号、偏移量、数据长度、标志位的信息,说明了该分段是原数据的哪一段,这样,目标主机在收到数据后,就能根据首部中的信息将各分片重新组合还原为数据。某些操作系统收到含有重叠偏移的伪造分片数据包时将会出现系统崩溃、重启等现象。

    3、IP Cheat攻击

    IP Cheat即IP地址欺骗是指行动产生的IP数据包为伪造的源IP地址,以便冒充其他系统或发件人的身份。这是一种黑客的攻击形式,黑客使用一台计算机上网,而借用另外一台机器的IP地址,从而冒充另外一台机器与服务器打交道。
    IP欺骗分为三个阶段展开。假设采取IP欺骗的攻击主机为X,它的攻击目标是主机A,并且主机A信任主机B,那么
    第一阶段:X探明主机A信任主机B。
    第二阶段:X伪装成B以获取A的信任。
    第三阶段:X获得A的信任后,向A发送任意数据。
    在这里插入图片描述

    4、UDP Flood攻击

    UDP flood主要是利用主机能自动进行回复的服务(例如使用UDP协议的chargen服务和echo服务)来进行攻击。
    很多提供WWW和Mail等服务设备通常是使用Unix的服务器,它们默认打开一些被黑客恶意利用的UDP服务。如echo服务会显示接收到的每一个数据包,而原本作为测试功能的chargen服务会在收到的每一个数据包时随机反馈一些字符。
    当我们向echo服务的端口发送一个数据时,echo服务会将同样的数据返回给发送方,而chargen服务则会随机返回字符。
    当两个或两个以上系统存在这样的服务时,攻击者利用其中一台主机向另一台主机的echo或者chargen服务端口发送数据,echo和chargen服务会自动进行回复,这样开启echo和chargen服务的主机就会相互回复数据。
    由于这种做法使一方的输出成为另一方的输入,两台主机间会形成大量的UDP数据包。当多个系统之间互相产生UDP数据包时,最终将导致整个网络瘫痪。

    5、SYN Flood攻击

    SYN Flood是当前最流行的拒绝服务攻击方式之一,这是一种利用TCP协议缺陷,发送大量伪造的TCP连接请求,使被攻击方资源耗尽(CPU满负荷或内存不足)的攻击方式。
    SYN Flood是利用TCP连接的三次握手过程的特性实现的。
    在TCP连接的三次握手过程中,假设一个客户端向服务器发送的SYN报文后突然死机或掉线,那么服务器在发出SYN/ACK应答报文后是无法收到客户端的ACK报文的,这种情况下服务器端一般会重试,并等待一段时间后丢弃这个未完成的连接。这段时间的长度我们称为SYN Timeout。一般来说这个时间是分钟的数量级。
    一个用户出现异常导致服务器的一个线程等待1分钟并不是什么很大的问题,但如果有一个恶意的攻击者大量模拟这种情况(伪造IP地址),服务器端将为了维护一个非常大的半连接列表而消耗非常多的资源。即使是简单的保存并遍历半连接列表也会消耗非常多的CPU时间和内存,何况还要不断对这个列表中的IP进行SYN+ACK的重试。
    实际上如果服务器的TCP/IP栈不够强大,最后的结果往往是堆栈溢出崩溃,即使服务器端的系统足够强大,服务器端也忙于处理攻击者伪造的TCP连接请求而无暇理睬客户的正常请求,此时从正常客户的角度看来,服务器失去响应,这种情况就称作:服务器端受到了SYN Flood攻击。
    在这里插入图片描述

  • 相关阅读:
    【C++】map、set,multiset和multimap的使用及底层原理【完整版】
    [深度学习][软件工具]pytorch-unet傻瓜式训练工具使用教程
    uniapp vue3.0+TS 上传单张或多张图片,并且能删除和预览。
    TypeScript 从入门到进阶之基础篇(一) ts类型篇
    python实现基于决策树的AdaBoost集成学习器
    phpstorm+wamp在线调试wordpress
    ARMv7-A 那些事 - 4.处理器模式与特权等级
    微信小游戏开发之坦克大战(比羊了个羊还好玩系列)
    10Linux 进程管理学习笔记
    从React源码来学hooks是不是更香呢
  • 原文地址:https://blog.csdn.net/weixin_42374938/article/details/126324747