Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >进击的反爬机制

进击的反爬机制

原创
作者头像
天存信息
修改于 2021-08-24 06:29:36
修改于 2021-08-24 06:29:36
1.8K0
举报

爬 虫 & 反爬虫

爬 虫:

指通过一定的规则策略,自动抓取、下载互联网上的网页内容,再按照某些规则算法抽取数据,形成所需要的数据集。有了数据,就有可能进行一些非法活动。

反爬虫:

一般指网站管理员使用一定的技术手段,防止爬虫程序对网站的网页内容进行爬取,以及阻止通过爬虫获取数据后的非法活动。

反爬方与爬虫方相互博弈,不断制造爬取难度,或一定程度上阻止了爬虫行为。爬虫方也在不断更新技术,来对抗种种反爬限制。

对抗过程

初始状态下,网站提供网站服务,未部署任何反爬措施。

ROUND 1

爬虫方启动爬虫程序 (实验环境中使用 scrapy 爬取) 成功爬取网页内容。

反爬方发现有爬虫程序在对网站进行爬取,在分析日志中访问请求的 user-agent 后,加载 iWall3 Web应用防火墙模块,编写并加载防护规则 anti-crawlers-match-user-agents.json 如下:

代码语言:txt
AI代码解释
复制
{
  "info": {
    "title": "UA Crawlers list"
  },
  "rules": [
    {
        "meta": {
            "phase": 2,
            "desc": "https://github.com/coreruleset/coreruleset/blob/v3.3/dev/rules/crawlers-user-agents.data"
        },
        "if": {
            "variable": [
                "REQUEST_HEADERS", 
                "REQUEST_BODY", 
                "REQUEST_FILENAME"
            ],
            "transform": "lowercase",
            "operator": "contain",
            "pattern": [
                "80legs",
                "black widow",
                "blackwindow",
                "prowebwalker",
                "pymills-spider",
                "ahrefsBot",
                "piplbot",
                "grapeshotcrawler/2.0",
                "grapefx",
                "searchmetricsbot",
                "semrushbot",
                "rogerbot",
                "mj12bot",
                "owlin bot",
                "lingewoud-550-spyder",
                "wappalyzer",
                "scrapy"
            ]
        },
        "then": [
            "IP.bad_ua_count@20=IP.bad_ua_count+1",
            "if": "IP.bad_ua_count > 3",
            "then": {
                "action": "deny",
                "log": "Too frequnt access from crawlers."
            }
        ]
    }
  ]
}

爬虫方再次爬取网页,发现超过一定阈值后,后续爬虫请求被阻止:

图1
图1

反爬方防护成功。

ROUND 2

爬虫方在初次交锋中 user-agent 被识别,这一次则使用随机的 user-agent (scrapy 使用 random_user_agent 配置),成功爬取网页内容。如下图:

图2
图2

反爬方利用 user_agent 防护的措施失效后,可根据“爬虫 (同一个 IP 地址) 在短时间内会访问多个不同应用 (如 url)”的逻辑,编写并加载防护规则 anti-crawlers-limit-user-access-different-application.json 如下:

代码语言:txt
AI代码解释
复制
{
    "rules": [
        {
            "meta": {
                "phase": 2,
                "function": "当IP.urls字段中不包含当前访问的请求名,则进行设置操作加判断操作。如果是参数代表不同应用修改即可。",
                "function": "设置操作包括给原有的IP.urls字段append新的请求名,并给IP.urls_count加1;",
                "function": "判断操作是判断IP.urls_count是否大于5(代表10秒内访问了不同的url,不同的url代表不同的功能),",
                "function": "若是则deny,否则放行。"
            },
            "if": [
                {
                    "or": [
                        "REQUEST_FILENAME == '/shopxo-1.6.0/index.php' && @ARGS.s == '/index/user/reginfo.html'",
                        "REQUEST_FILENAME == '/shopxo-1.6.0/index.php' && @ARGS.s == '/index/user/logininfo.html'",
                        "REQUEST_FILENAME == '/shopxo-1.6.0/index.php' && @ARGS.s == '/index/category/index.html'",
                        "REQUEST_FILENAME == '/shopxo-1.6.0/index.php' && contain(@ARGS.s, '/index/search/index/category_id')",
                        "REQUEST_FILENAME == '/shopxo-1.6.0/index.php' && contain(@ARGS.s, '/index/article/index/id')",
                        "REQUEST_FILENAME == '/shopxo-1.6.0/index.php' && contain(@ARGS.s, '/index/goods/index/id')"
                    ]
                },
                {
                    "not": {
                        "variable": "IP.args_s",
                        "operator": "contain",
                        "pattern": "';' .. ${@ARGS.s} .. ';'"
                    }
                }
            ],
            "then": [ 
                "IP.args_s@10=IP.args_s .. ';' .. @ARGS.s .. ';'",
                "IP.args_s_count@10 = IP.args_s_count+1",
                "if": "IP.args_s_count > 5",
                "then": {
                    "action": "deny",
                    "log": true
                }
            ]
        }
    ]
}

超过一定阈值后,后续爬虫请求被阻止:

图3
图3

反爬方防护成功。

ROUND 3

爬虫方由于在上一回合中使用同一 IP 地址且访问速度过快,导致反爬方可以依此特性设置防护。故改为使用 IP 代理池 (scrapy 使用 IP 代理池),成功爬取网页内容。Proxy_ip 的设置如下所示:

图4
图4

反爬方更新防护措施,相应地在页面中增加“蜜罐页面链接”。一旦爬虫程序访问“蜜罐页面链接”就会被拦截。编写并加载防护规则 anti-crawlers-add-honeypot-page.json 如下:

代码语言:txt
AI代码解释
复制
{
    "rules": [
        {
            "meta": {
                "phase": 3,
                "function": "当访问/shopxo-1.6.0/idnex.php时,在<a href ...>标签下面增加一个标签(含有假的链接)"
            },
            "if": [
                "REQUEST_METHOD == 'GET'",
                "REQUEST_FILENAME == '/shopxo-1.6.0/'",
                "#ARGS == 0"
            ],
            "then": {
                "execution": [
                    {
                        "directive": "alterResponseBody",
                        "op": "string",
                        "target": "<div class=\"navigation-button am-show-sm-only\">",
                        "substitute": "<div class=\"navigation-button am-show-sm-only\"> <a href=\"http://10.10.11.67/shopxo-1.6.0/index.php?s=/index/user/fake_logininfo.html\"></a>",
                        "ignore_case": false
                    }
                ]
            }
        },
        {
            "meta": {
                "phase": 1,
                "function": "当爬虫进行页面爬取时,就会访问到假的链接时,进行阻止"
            },
            "if": [
                "REQUEST_FILENAME == '/shopxo-1.6.0/index.php'",
                "@ARGS.s == '/index/user/fake_logininfo.html'"
            ],
            "then": {
                "action": "deny"
            }
        }
    ]
}

网站加载此规则后,爬虫程序有些请求会被拦截,效果如图:

图5
图5

反爬方防护成功。

ROUND 4

爬虫方在前面的攻防对抗中,爬虫程序进行全局爬取会访问到“蜜罐页面链接”。为避开蜜罐,爬虫方使用 Selenium + WebDriver 对网站进行访问,成功爬取网页内容。

反爬方为应对新的爬虫手段,尝试在前端做“插桩”操作,并判断返回的 WebDriver 属性,编写并加载防护规则 anti-crawlers-check-is-selenium-chromedriver.json 如下:

代码语言:txt
AI代码解释
复制
{
    "rules": [
        {
            "function": "1.当访问GET /shopxo-1.6.0/index.php?s=/index/user/reginfo.html 时,修改</head>为",
            "function": "<script>const ret = window.navigator.webdriver;$.get(\"http://[这块写上host即可]/shopxo-1.6.0/index.php/send_result.js\"+$ret, function(data, status){});</script></head>",
            "meta": {
                "phase": 3
            },
            "if": [
                "REQUEST_FILENAME == '/shopxo-1.6.0/index.php'",
                "@ARGS.s == '/index/user/reginfo.html'"
            ],
            "then": {
                "execution": [
                    {
                        "directive": "alterResponseBody",
                        "op": "string",
                        "target": "var __user_id__ = 0;",
                        "substitute": "var __user_id__ = 0; var ret = window.navigator.webdriver;var url_ret=\"http://10.10.11.67/shopxo-1.6.0/index.php/send_result.js?ret=\"+ret; var httpRequest = new XMLHttpRequest(); httpRequest.open('GET', url_ret); httpRequest.send(); ",
                        "ignore_case": false
                    }
                ]
            }
        },
        {
            "meta": {
                "phase": 1,
                "function": "当访问send_result.js时,获取到ARGS.ret,查看是否是true,若是则deny"
            },
            "if": [
                "REQUEST_FILENAME == '/shopxo-1.6.0/index.php/send_result.js'",
                "@ARGS.ret != 'false'"
            ],
            "then": {
                "verdict": {
                    "action": "deny",
                    "log": "client is chromedriver!",
                    "continued": {
                        "subject": "REAL_IP",
                        "action": "deny",
                        "duration": 36000,
                        "log": "${REAL_IP.__id} in blocking"
                    }
                }
            }
        }
    ]
}

网站加载本规则后,爬虫请求被拦截,且被持续拦截。

反爬方防护成功。

ROUND 5

爬虫方在上一轮对抗中,因使用 Selenium + WebDriver 会将 WebDriver 属性设为真,对方可据此属性值对爬虫进行拦截。采用如下设置即可修改 WebDriver 的值:

代码语言:txt
AI代码解释
复制
Object.defineProperties(window.navigator,{webdriver:{get:()=>false}})

爬虫方每次使用 Selenium + WebDriver 进行爬取前,预先执行一下这段 js 代码,即可成功爬取网页内容。

反爬方对应的防护规则因 WebDriver 值被人为更改而失效,继而尝试增加字体反爬规则。

规则背景是,在爬虫与反爬示例中,字体文件会产生一个 *.woff 的请求:

图6
图6

以测试页面 niushop 项目首页为例,对价格进行字体反爬处理:

图7
图7

规则如下:

图8
图8

网站加载此规则后,爬虫方获取的价格显示为乱码。

反爬方防护成功 (价格信息)。

ROUND 6

爬虫方受制于字体反爬规则,爬取价格信息时得到的是乱码。于是,在网站字体文件不变的情况下,直接解析固定的 woff 文件——

使用 Python 下 fontTool 库的 ttLib 包,破解反爬的代码文件与效果如下:

图9
图9
图10
图10

爬虫方成功获取网页信息 (准确的价格信息)。

反爬方升级字体反爬规则,以应对爬虫方借字体文件对乱码所做的还原,升级思路是“字体信息不换,动态更换字符编码”——

1. 使用 fontCreator 软件对字体文件进行编码和位置的修改,并产生多个“编码各不相同”、“字体顺序各不相同”和“位置各不相同”的 woff 文件:

图11
图11
图12
图12

2. 在规则中随机调用这些字体文件。这里生成了 5 个随机 woff 文件 (实际字体坐标点信息不变),在生产环境甚至可以制作 1000 个或更多。规则如下:

图13
图13

3. 效果是,多次请求获取到不同的 woff,且价格数值显示正常:

图14
图14
图15
图15

这一措施是利用随机 woff 文件增加爬虫难度。对爬虫方来说,由于 woff 文件中的对应关系变为随机,原先的爬虫程序失效。

反爬方防护成功 (价格信息)。

ROUND 7

爬虫方因防守方升级字体反爬规则,而原有脚本需要对每一个 woff 进行信息映射。如果运行原有脚本,会出现错误的价格数值,测试结果如下:

图16
图16

攻击方需加码升级爬虫脚本,根据“同一个字符其字体关键点的坐标是不变的”的逻辑爬取网页。爬取的代码文件如下:

图17
图17

多次访问验证效果,可以获取原有价格数值:

图18
图18

此时,爬虫方可以成功获取网页信息 (准确的价格信息)。

反爬方由于升级后的字体反爬规则被破解,需要继续升级规则。思路:在已有的动态编码的基础上,追加一个动态字体坐标 (以不影响页面字体显示为前提,微调字体的坐标点,类似于验证码中字体的扭曲变形)。通过微调字体形状 (反映在坐标点上),网站可以做出 1000+ 种字体文件,本文测试中设置出 20 种 (0-19) 字体文件用于随机。

图19
图19

部署后访问页面,价格信息可以正常显示。而爬虫方由于字体本身信息被微调,脚本再次失效。

反爬方防护成功 (价格信息)。

ROUND 8

爬虫方针对字体爬虫脚本的失效,可以发展出两种破解方案:一个是 OCR 技术 (Optical Character Recognition,光学字符识别),另一个是 KNN 算法 (K 近邻分类 K-Nearest Neighbor Classification)。

此处使用 KNN 算法尝试破解。

1. 测试文件地址:

图20
图20
图21
图21

2. 首先,font.py 脚本从网站中下载 5 个随机 woff 文件,存储到 fonts 目录中,并修改 font.py 脚本中所代表的字体值 (根据下载的 woff 文件在 fontCreator 中的顺序修改),如下:

图22
图22

3. 而后,执行 python3 knn_test.py,看到预测率为 100%,如图:

图23
图23

4. 接下来,预测并替换原响应内容,得到正确内容:

图24
图24

可以看到,爬虫方成功获取了信息。

反爬方字体反爬规则对 KNN 算法失效。此时,在字体上的反爬措施也已经走到尽头。防守需转换阵地,对相关网页内容进行 js 混淆,使用 JavaScript-Obfuscator 开源项目进行加密测试。

在本文的测试环境下,通过 cli 命令对 handle_init_js.js 文件进行混淆:

代码语言:txt
AI代码解释
复制
javascript-obfuscator/bin/javascript-obfuscator handle_init_js.js -o a_out.js --compact false
图25
图25

由于网页信息做了 js 混淆处理,爬虫方需要先解密混淆的 js 代码。如果爬虫方无法解密混淆后的 js 代码,则网站反爬防护成功。

ROUND 9

爬虫方一旦其一步步吃透了混淆后的 js 代码,同样可以成功爬取网页信息。

反爬方需继续改变应对策略,增设图片反爬规则。

这里有两种方式:

方式一:将敏感文字信息以图片形式显示,并设置图片加扰等措施。效果和规则如下:

图26
图26
图27
图27

方式二:svg 图片与 css 样式偏移显示结合,进行反爬。效果和规则如下:

图28
图28
图29
图29

由于价格以图片显示,能爬取的只有图片链接和 html 标签信息,并不能直接获取价格信息。在爬虫方难以进一步做图片识别的情况下,可视为对网站进行了成功的反爬防护。

ROUND 10

爬虫方:上回合里,价格以图片方式呈现,爬虫方无法直接获取价格信息,故需要使用 OCR 技术来获取图片中的内容。

以 Tessarect(c++) 开源项目为例 (地址),安装命令为:

代码语言:txt
AI代码解释
复制
./autogen.sh && ./configure && make && make install && ldconfig
git clone https://github.com/tesseract-ocr/tessdata.git
export TESSDATA_PREFIX=/usr/local/pachong/ocr/tesseract/tessdata/

测试如图所示:

图30
图30

可以看到,图片内容被准确识别出来,爬虫成功获取到了价格信息。

反爬方:网页终究是提供信息供用户阅览的,当爬虫方使用 OCR 技术进行图片识别的时候,网站暂时是没有更好的办法进行反爬防护的。当然,还可以继续跟爬虫方在图片显示技术上进行对抗,譬如使用图片水印对原信息进行处理。网页终究是要呈现信息给用户的,当走到爬虫方使用 OCR 技术进行图片识别这一步时,网站暂时是没有更好的办法进一步反爬的。当然,还可以继续跟爬虫方在图片显示技术上进行对抗,譬如使用图片水印对原信息进行处理。

总结

正所谓,“道高一尺魔高一丈”,爬虫和反爬的对抗始终斗智斗勇,步步紧逼,相互间的博弈没有终点。

(张戈 | 天存信息)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
AI in WAF | 腾讯云网站管家 WAF AI 引擎实践
 导语: 互联网公司数据被窃取并在暗网兜售的事件屡见不鲜,已引起了人们对网络安全风险问题的热议,某些站点的 Shell 也直接被标价出售。黑客是利用哪些缺陷成功入侵并获取站点权限的?我们的网站防护真的
腾讯云安全
2018/07/30
17.3K0
绕过WAF防火墙?
现实中的Web服务,可能潜伏各种Bug漏洞,即便积极的定期进行Web扫描,也不保证万无一失,基于这种原因,应运而生了Web防火墙WAF,最常见的是在基于代理模式的Web网关系统,加入威胁检测功能。
糖果
2021/07/19
6950
产品经理眼中比较理想的WEB扫描器
摘要 漏洞扫描器,也叫VA(Vulnerability Assessment)漏洞评估或者VM(Vulnerability Management)漏洞管理,一直是各大安全厂商产品线中不可或缺的一部分。 本文是以一个产品经理的角度讨论其中更细分的一个领域,WEB漏洞扫描器。所谓产品经理的视角其实是兼顾甲方和乙方的立场。 重要地位 WEB漏洞扫描器主要任务是发现WEB服务存在的安全漏洞,及时通知用户并给出一定的修复建议。 在PDR以及P2DR模型中,WEB漏洞扫描器属于检测环节,是动态响应和加强防护的依据,通过
FB客服
2018/02/23
1.8K0
产品经理眼中比较理想的WEB扫描器
企业安全体系建设之路之Web安全篇
目前的网络攻击主要还是以WEB攻击为主流,毕竟这是与外界沟通获取知识和了解世界的主要桥梁。
HACK学习
2019/08/06
1.3K0
企业安全体系建设之路之Web安全篇
WAF的介绍与WAF绕过原理
WAF 是什么?全称 Web Application Firewall (WEB 应用防护系统),与传统的 Firewall (防火墙) 不同,WAF 针对的是应用层。
天钧
2019/11/11
5.8K0
WAF的介绍与WAF绕过原理
与WAF的“相爱相杀”的RASP
猜想大部分安全从业者都会回答:“WAF(Web Application Firewall,应用程序防火墙)。”不过RASP(Runtime Application Self-Protection,应用运行时自我保护)横空出世,似乎有取而代之的意味。
德迅云安全--陈琦琦
2024/05/24
2060
后宫双十一电商安全保卫战:EdgeOne 显身手
“蹲点抢购”的巅峰,往往也是黑灰产集中攻击的流量巅峰。机器人盗刷、DDoS/CC 攻击、漏洞攻击等恶意流量威胁,容易让本就承受流量高压的服务器更加脆弱,致使关键时刻网络瘫痪,消费者无法正常下单。不仅直接造成了经济损失,也容易对品牌声誉造成影响。
腾讯云音视频
2024/11/25
1930
后宫双十一电商安全保卫战:EdgeOne 显身手
AI in WAF︱腾讯云网站管家 WAF:爬虫 Bot 程序管理方案
案例是说明一件事情最有力的辅证 某大型生活服务类站点被爆简历数据被恶意爬虫泄露; 某二次元文化社区站点原创内容被恶意爬虫遭侵权; 航空公司被爬虫恶意低价抢票; 外卖平台用户数据泄露; 恶意爬虫 Bot
腾讯云安全
2018/08/01
10.7K0
WAF和RASP技术,RASP与WAF的“相爱相杀”
WAF全称叫Web Application Firewall,也就是web应用防火墙,和传统防火墙的区别是,它是工作在应用层的防火墙,主要针对web请求和响应进行检测和防护。
德迅云安全--陈琦琦
2024/04/09
8090
腾讯云网站管家WAF体验:聊聊AI作为WAF市场转折的趋势
从Gartner去年提供的数据来看,市面上提供WAF方案的厂商依然很多,毕竟WAF依然是很多企业用户部署的必选项。但从WAF中的获利通常只占到安全企业营收的很小一部分;而随着传统WAF设备销售的滑坡,WAF市场正面临两大转折:
FB客服
2018/08/10
2.8K0
腾讯云网站管家WAF体验:聊聊AI作为WAF市场转折的趋势
如何做一款好的waf产品(4)
对于网络设备来说管理是一个重要的部分,尤其对于安全设备来说,因为业务 需要的不停变化需要对设备不停的进行设置。
stan1ey
2021/08/11
5750
如何做一款好的waf产品(4)
产业安全专家谈丨Web 攻击越发复杂,如何保证云上业务高可用性的同时系统不被入侵?
如今,电子政务、电子商务、网上银行、网上营业厅等依托Web应用,为广大用户提供灵活多样的服务。在这之中,流量攻击堪称是Web应用的最大敌人,黑客通过流量攻击获取利益、竞争对手雇佣黑客发起恶意攻击、不法分子通过流量攻击瘫痪目标后勒索高额保护费,往往会对业务造成严重损害。
腾讯安全
2020/01/03
1.1K0
产业安全专家谈丨Web 攻击越发复杂,如何保证云上业务高可用性的同时系统不被入侵?
RASP技术进阶系列(一):与WAF的“相爱相杀”
猜想大部分安全从业者都会回答:“WAF(Web Application Firewall, 应用程序防火墙)。”不过RASP(Runtime Application Self-Protection,应用运行时自我保护)横空出世,似乎有取而代之的意味。
云鲨RASP
2023/04/19
8070
WAF那些事儿
网站应用级入侵防御系统(Web Application Firewall,WAF),也称为Web防火墙,可以为Web服务器等提供针对常见漏洞(如DDOS攻击、SQL注入、XML注入、XSS等)的防护。在渗透测试工作中,经常遇到WAF的拦截,特别是在SQL注入、文件上传等测试中,为了验证WAF中的规则是否有效,可以尝试进行WAF绕过。本章将讨论注入和文件上传漏洞如何绕过WAF及WebShell的变形方式。
Ms08067安全实验室
2023/12/26
5000
WAF那些事儿
技术干货|详解威胁情报在WAF类产品中如何发挥最大价值?
在产业互联网发展的过程中,企业也将面临越来越多的安全风险和挑战,威胁情报在企业安全建设中的参考权重大幅上升。早期安全产品对威胁的鉴定是“一维”的:鉴定文件是黑(恶意文件)、白(正常文件)、灰(待鉴定结论);逐渐增加为“多维”:文件、IP、域名、关联,行为等等属性,这些信息综合起来,即形成“威胁情报”。
腾讯安全
2021/07/01
1.2K0
技术干货|详解威胁情报在WAF类产品中如何发挥最大价值?
权威认可 | 腾讯云WAF入选Forrester最新市场报告
近日,国际权威研究机构Forrester发布最新研究报告《Now Tech: Web Application Firewalls,Q2 2022 》(以下简称“报告”),从市场规模、功能表现、垂直行业、市场区域等多个维度,对全球28家Web应用防火墙(WAF)知名厂商进行了评估。
腾讯安全
2022/05/24
1.2K0
权威认可 | 腾讯云WAF入选Forrester最新市场报告
Bypass WAF (小白食用)
前言:现在绕过waf手法在网上层出不穷,但是大家好像忘记一个事情就是,思路比方法更有价值,大家对着网上一些手法直接生搬硬套,不在意是不是适合的场景,网上的文章,好像着急的把所有的绕过方法都给你罗列出来。没有传授给你相应的技巧。到最后,小白拿着一堆绕waf的方法却被waf拦在外面。
亿人安全
2024/09/18
2540
Bypass WAF (小白食用)
《互联网企业安全高级指南》之实践篇
单点登录(Single Sign-On,简称SSO)是一种身份验证和授权机制,允许用户使用一组凭据(如用户名和密码)在多个应用程序或系统中进行身份验证,而无需为每个应用程序单独登录。
用户1423082
2024/12/31
520
行业安全解决方案 | 零售企业如何做好安全建设对抗黑灰产?
随着各行各业信息化、数字化、智能化进程不断加快,零售行业新业态也正在蓬勃发展。然而,随着转型深入推进及业务量的上升,随处可见的安全威胁逐渐成为零售企业的首要难题。
腾讯安全
2022/11/22
1.4K0
行业安全解决方案 | 零售企业如何做好安全建设对抗黑灰产?
WAF 绕过的捷径与方法
在企业架构中,安全体系同剥洋葱一般,由外及内是由一层层的安全产品和规范构成,越处于外层承重越大,WAF 属七层防护的第一道墙,随着互联网技术发展,业务对外提供服务的方式逐渐收拢,Web 接口与应用垄断流量,WAF成了安全战场中被炮火攻击最惨烈的前线。
信安之路
2019/03/01
2.1K0
WAF 绕过的捷径与方法
推荐阅读
相关推荐
AI in WAF | 腾讯云网站管家 WAF AI 引擎实践
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档