安全测试--DDOS分布式拒绝服务攻击

首先开门见山,DDOS就是利用合理的请求造成资源过载,导致服务不可用。

在知乎上看到一篇对DDOS的解释很有趣,就把他引用过来,复仇者联盟看过吧,有这么一个场景,一大堆请求过来了: 

 

然后服务器扛不住,拒绝了所有请求,把绿巨人这些也要进去的超级英雄也拦住了,像下面一样:

 

 

    实际上DDOS就是所谓的,资源一直被无效的请求占用,导致真正有需要使用的客户反而用不了,就好像是商店售货员要给客户售卖东西,

但所有的售货员都被一群不买东西的用户拦着聊天,导致真正要买东西的人反而接收不到服务。

    回到正题,DDOS常见的攻击方式有:SYN flood、CC、UDP flood、ICMP flood.

SYN flood:

    SYN flood为利用TCP/IP协议的漏洞进行攻击的一种手段。需要了解这种攻击手段首先要了解TCP/IP的三次握手。



    如下所示:(图片取自百度百科)

 

第一次

第一次握手:建立连接时,客户端发送syn包(seq=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN:同步序列编号(Synchronize Sequence Numbers)。[3]

第二次

第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(seq=k),即SYN+ACK包, 此时服务器进入SYN_RECV状态。

第三次

第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕, 客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。

简而言之,就是 客户端请求建立连接2.服务器应答3.客户端确认。

SYN flood攻击流程:

伪造大量的源IP地址,对服务端进行请求

服务端收到请求,进行回应。

由于是假IP地址,不会响应。

服务端在第二步后过段时间又进行回应,直到多次失败后才放弃。

由于一直在进行这种半连接的处理,服务端就会陷入大量资源被占用的情况,而真实需要连接的用户就出现了连接不上的现象了。

SYN flood攻击的防御机制:对频繁访问的IP进行识别并过滤。

CC攻击:

    CC攻击为黑客刻意去制造一堆访问资源消耗比较大的正常请求,造成服务器资源被占满的情况。
    这种在web应用上尤为常见,比如说查询数据库、磁盘读写等。

    这样的场景在测试中很容易制造,比如说我查询一个比较复杂的报表,查询的时候进行并发调用,就很可能把服务资源用完。

    如果换做一个网站,几乎避免不了各种爬虫爬取资源的现象,早已是爬虫满世界的互联网国度,如果不做好墙,

分分钟可以把对面的服务器给爬到挂掉。

CC攻击的防御机制:由于CC攻击做出的是正常的业务请求,很难以区分,一般会有两种方式去避免,1、限制用户过于频繁的请求。2、验证码阻隔。

   举个例:

    记得我最早在学习写爬虫的时候,忘记调整频率,结果我的IP一进去爬虫就被拒绝访问了,对方网站识别出了爬虫直接拒绝了我的请求。

但只用几分钟我就找到了重新访问的办法,那就是开ip代理进行访问,那时候网上免费的ip代理一大堆,立马就访问通过了。 所以用1的方式就比较局限。 因而有了第二种方法,只要验证码不被轻易识别,普通爬虫用户就难以进去。所以可以明白为什么有段时间12306那些反人类的验证码出现的理由了吧。

UDP flood:

    上面说到过利用TCP/IP漏洞进行攻击的案例,同样的UDP也可以被利用,UDP协议是一种无连接的服务,

在UDP Flood 中,攻击者通常发送大量伪造源IP地址的小UDP包冲击DNS服务器或Radius认证服务器、流媒体视频服务器。 100k bps的UDP Flood经常将线路上的骨干设备例如防火墙打瘫,造成整个网段的瘫痪。

ICMP flood:

    ICMP(Internet控制报文协议)用于在IP主机、路由器之间传递控制消息,

控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息,虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。 通过对目标系统发送海量数据包,就可以令目标主机瘫痪,如果大量发送就成了洪水攻击。

HTTP POST DOS:

    POST攻击是在使用这些接口的时候,把对应要发送的报文长度设置的很长很长,然后发送速度调的很慢很慢,

这样这个接口就一直被占用着,当同样的请求数多了之后,就会达到对应的连接上限,后面正常的业务请求就无法进行了。

小结:

    各种各样的DOS层出不穷,但终归就是抢占资源,然后让正常用户无法使用。由于攻击成本很低,所以这种攻击在如今变得很频繁,

如果要做到正确防范这样的攻击,却需要花费很大的精力。我认为这种现象未来依旧还会很多,而对抗这种攻击的路依旧道阻且长。

posted @ 2025-05-14 13:58  寻虫测试  阅读(35)  评论(0)    收藏  举报