首页 > 其他分享 >CC攻击防护详解(HTTP)

CC攻击防护详解(HTTP)

时间:2023-02-23 12:45:08浏览次数:48  
标签:HTTP CC 攻击 Token 详解 攻击者 服务器

        HTTP Flood 俗称CC攻击(Challenge Collapsar)是DDOS(分布式拒绝服务)的一种,前身名为Fatboy攻击,也是一种常见的网站攻击方法。是针对 Web 服务在第七层协议发起的攻击。攻击者相较其他三层和四层,并不需要控制大量的肉鸡,取而代之的是通过端口扫描程序在互联网上寻找匿名的 HTTP 代理或者 SOCKS 代理,攻击者通过匿名代理对攻击目标发起HTTP 请求。匿名代理服务器在互联网上广泛存在。因此攻击容易发起而且可以保持长期高强度的持续攻击,同样可以隐藏攻击者来源避免被追查。

HTTP/CC 攻击的特点:

  1. HTTP/CC 攻击的 ip 都是真实的,分散的
  2. HTTP/CC 攻击的数据包都是正常的数据包
  3. HTTP/CC 攻击的请求都是有效请求,且无法拒绝
  4. HTTP/CC 攻击的是网页,服务器可以连接,ping 也没问题,但是网页就是访问不了
  5. 如果 IIS 一开,服务器很快就死,容易丢包。

TTP/CC 攻击 如何造成更大的杀伤?

       Web 服务与 DNS 服务类似,也存在缓存机制。如果攻击者的大量请求命中了服务器缓存,那么这种攻击的主要作用仅体现在消耗网络带宽资源上,对于计算和 IO 资源的消耗是非常有限的。因此,高效的 HTTP/CC 攻击 应不断发出针对不同资源和页面的 HTTP 请求,并尽可能请求无法被缓存的资源( 如关键词搜索结果、用户相关资料等 ),这样才能更好的加重服务器的负担,达到理想的攻击效果。当然 HTTP/CC 攻击 也会引起严重的连锁反应,不仅仅是直接导致被攻击的 Web 前端响应缓慢,还间接攻击到后端的 Java 等业务层逻辑以及更后端的数据库服务,增大它们的压力,HTTP/CC 攻击 产生的海量日志数据甚至会对日志存储服务器都带来影响。

 

如果 Web 服务器支持 HTTPS,那么进行 HTTPS 洪水攻击是更为有效的一种攻击方式。原因有二:

 其一,在进行 HTTPS 通信时,Web 服务器需要消耗更多的资源用来认证和加解密。

其二,目前一部分防护设备无法对 HTTPS 通信数据流进行处理,会导致攻击流量绕过防护设备,直接对 Web 服务器造成攻击。

 

 

 

CC攻击防御

 防御思路

 HTTP/CC 攻击 防御主要通过缓存的方式进行,尽量由设备的缓存直接返回结果来保护后端业务。当高级攻击者穿透缓存时,清洗设备会截获 HTTP 请求做特殊处理。因为CC攻击通过工具软件发起,而普通用户通过浏览器访问,这其中就会有某些区别。想办法对这二者作出判断,选择性的屏蔽来自机器的流量即可。

 初级防御

 普通浏览器发起请求时,除了要访问的地址以外,Http头中还会带有Referer,UserAgent等多项信息。遇到攻击时可以通过日志查看访问信息,看攻击的流量是否有明显特征,比如固定的Referer或UserAgent,如果能找到特征,就可以直接屏蔽掉了。

 中级防御

         如果攻击者伪造了Referer和UserAgent等信息,那就需要从其他地方入手。攻击软件一般来说功能都比较简单,只有固定的发包功能,而浏览器会完整的支持Http协议,我们可以利用这一点来进行防御。

         首先为每个访问者定义一个字符串,保存在Cookies中作为Token,必须要带有正确的Token才可以访问后端服务。当用户第一次访问时,会检测到用户的Cookies里面并没有这个Token,则返回一个302重定向,目标地址为当前页面,同时在返回的Http头中加入set cookies字段,对Cookies进行设置,使用户带有这个Token。

        客户端如果是一个正常的浏览器,那么就会支持http头中的set cookie和302重定向指令,将带上正确的Token再次访问页面,这时候后台检测到正确的Token,就会放行,这之后用户的Http请求都会带有这个Token,所以并不会受到阻拦。

         客户端如果是CC软件,那么一般不会支持这些指令,那么就会一直被拦在最外层,并不会对服务器内部造成压力。

 高级防护

 高级一点的,还可以返回一个网页,在页面中嵌入JavaScript来设置Cookies并跳转,这样被伪造请求的可能性更小

 Token生成算法:Token需要满足以下几点要求

  1.    每个IP地址的Token不同
  2.   无法伪造
  3.   一致性,即对相同的客户端,每次生成的Token相同

Token随IP地址变化是为了防止通过一台机器获取Token之后,再通过代理服务区进行攻击。一致性则是为了避免在服务器端需要存储已经生成的Token。

标签:HTTP,CC,攻击,Token,详解,攻击者,服务器
From: https://www.cnblogs.com/sword0077/p/17147540.html

相关文章

  • Nginx rewrite 详解
     本篇主要介绍nginx的rewrite重定向这个功能进行详解介绍,以及介绍它的使用场景1.rewrite基本介绍rewrite是实现URL重写的关键指令,根据regex(正则表达式)部......
  • 使用AGIC发布AKS应用-HTTPS
    前面和大家聊了使用ApplicationGatewayIngressController(以下简称:AGIC)以HTTP的形式将AKS群集内的业务系统发布到Internet以供用户使用。但是在实际的生产场景中,处于安全......
  • [.Net] 解决 Oracle.DataAccess 在 VS2022 下不兼容的问题
    环境VisualStudio2022Oracle.DataAccess.dllv4.121.2.0错误信息在VS中启动 IISExpress,收到报错信息Couldnotloadfileorassembly'Oracle.DataAccess'oro......
  • QT做串口助手(详解)BY LZQ
    QT做串口的完整代码:main.cpp#include"myserial.h"#include<QApplication>intmain(intargc,char*argv[]){QApplicationa(argc,argv);MySerial......
  • input的type=file上传文件accept中限制文件类型
    IE9及以下不支持下面这些功能,其它浏览器最新版本均已支持。 1、允许上传文件数量允许选择多个文件:<inputtype="file"multiple>只允许上传一个文件:<inputtype="fil......
  • nginx.conf 详解
     ######Nginx配置文件nginx.conf中文详解######定义Nginx运行的用户和用户组userwwwwww;#nginx进程数,建议设置为等于CPU总核心数。worker_processes8;#全......
  • 【五期李伟平】CCF-C(ICC'19)Efficient and Secure k-Nearest Neighbor Search Over Enc
    Song,F.,etal."EfficientandSecurek-NearestNeighborSearchOverEncryptedDatainPublicCloud."ICC2019-2019IEEEInternationalConferenceonCommu......
  • ORACLE基础之oracle锁(oracle lock mode)详解
    ORACLE里锁有以下几种模式:0:none1:null空2:Row-S行共享(RS):共享表锁,subshare 3:Row-X行独占(RX):用于行的修改,subexclusive 4:Share共享锁(S):阻止其他DML操......
  • 用户投稿——详解我了解的 TDengine 以及它所在的时序数据库“战场”
    作者:大数据模型本篇文章出自2022年“用TDengine,写TDengine”征文投稿活动。因为工作的关系,最近几年我接触到过各种国产数据库,唯独对TDengine念念不忘。在众多数......
  • 详解Python类中的三种函数
    通俗点来说,Python定义的类中常用的有三种函数,也就是实例方法、类方法和静态方法。使用场景不同决定着不同的结果导向。今天正好有空教大家如何区分并且使用他们,以达到我们......