Bootstrap

浅谈Bypass Waf - 上(基础篇)

文章来源|MS08067 Web漏洞挖掘班 第3期

本文作者:Hi2x(Web漏洞挖掘班讲师)

0x00 前言

在了解Bypass Waf之前,我们应该首先了解一些前置知识:

1.Waf是什么

2.Waf的类型

3.Waf的工作原理

1. Waf是什么

Waf全称为Web Application FireWall(Web应用防火墙);顾名思义Waf原理与日常使用防火墙相似,但主要注重在Web页面中存在的对应安全问题。

2.Waf的类型

WAF分为非嵌入型WAF嵌入型WAF

非嵌入型是指硬WAF、云WAF、软WAF之类。

嵌入型是指web容器模块类型WAF、代码层WAF。

3.Waf的工作原理

不论是什么类型的Waf,工作的方式几乎差不多。首先,从用户体验上出发,用户的目的是部署Waf从而解决对应的WEB安全问题;所以对于Waf开发来说,需要了解的就是:哪些位置可能会引发安全漏洞、如何判断攻击者利用攻击触发了漏洞。

回顾一下TOP 10的安全漏洞,我们可以得到一个结论,Web漏洞产生的位置基本都为:

1.HTTP头部字段

2.GET、POST提交的内容

3.上传的文件

所以,我们也可以逆推得到Waf构建及工作的原理大致为:

1.构建各种漏洞利用的攻击特征库

2.对漏洞产生位置的内容进行搜集

  3.将搜集的内容在特征库中进行匹配,查看是否存在攻击特征并作出相应

更详细的工作流程如下图所示:

建立特征库的流程:

384788b7364b38f8431898606a08ce7d.png

判断恶意攻击流程:

91ad659d93e0837abf0a7be9744a2849.png

0x01 绕Waf实战

了解完Waf是怎么拦截对应的流量之后,我们就明白了绕Waf的最终目标是绕过特征库检测(即绕过正则匹配)。

那如何绕过正则匹配呢?

主要的方式就两种:

1. 通过Fuzz脚本构造大量Payload进行尝试

2. 通过人为手工探测Waf编写规则。

第一种方式比较暴力,且针对初学者并不是很友好,因为需要很多之前师傅们绕Waf的Payload作为前置知识。

基本思路大致是:对绕过的方法进行搜集构造一些经常绕Waf的字符串,并且利用脚本在漏洞点构造语句+绕Waf字符串+垃圾字符等Payload,通过跑大量Payload的方式爆开可以绕Waf的Payload。

很好,所以我们介绍第二种方法。

前置知识:由于Waf需要尽量满足客户需求,Waf的匹配规则通常会匹配的很详细进而减少误报。

以某安全厂商的Waf产品的规则为例:

8cdf2a779f4f13b1203836a01599399a.png

5c0b84604dddafd74f54687e2598aff9.png

那我们就可以通过手工一步步探测Waf的过滤规则是什么,从而进行绕过。

如何进行手工探测Waf的过滤规则请看下一篇推文 浅谈Bypass Waf - 下(实战篇)

Hi2x老师主讲的 Web漏洞挖掘第3期

火爆报名中~

最新课程目录3.0版

db4566c0c740513d625ad31c5b6b7d87.png

*大纲仅作为参考,会根据当期进度有所变化(加客服获取高清课程导图)

课程费用

每期班定价2499新年价:1999前30名送399元Web安全知识星球名额

每个报名学员都可享受一次后续任意一期课免费重听权益,一次没学懂就再来一遍,后续培训可任选一期来听。请有意参加培训的学员抓紧报名!

凡是MS08067旗下任意星球学员或其他培训课程学员,可享内部VIP价1799

支持支付宝、信用卡、花呗分期,对公转账,可开发票!

知识星球是什么


    你距离大佬,只差一个决定       

报名咨询请联系小客服

扫描下方二维码加入星球学习

加入后邀请你进入内部微信群,内部微信群永久有效!

daf57b77e445d6e0af2dec9a236f513e.png e9ef341b3fa32763ac7da4ec44b088f6.png

586a0a65180fa5e9adfea2d3c31b8c5f.pngea1f04bba817b15dc3372ea17295cb5e.png

80f300f3324124900a4520fc5d794efe.png 904f47355f752df93fe6f3f44990e1bd.png

来和5000+位同学一起加入星球学习吧!

1f675f05ac8430bcad2d891ce35ceea0.gif

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;