这是红队系列文章的第六篇,我们来详细的说一说如何识别及绕过云WAF。
云WAF(Web应用防火墙)是WAF的一种部署模式,它将WAF的功能在云端进行实现。只需要把域名的解析权交给云WAF,它就可以利用DNS调度技术,改变网络流量的原始流向,将网络流量牵引到云端的WAF上,云端的WAF对流量进行净化和过滤后,将安全的流量回传给后端真实的应用,最终达到安全过滤和保护的作用。
由于管理员未设定仅允许云WAF回源访问使得原始站点仍然暴露在互联网中或可被访问。而通过fofa/Quake/Hunter/zoomeye等资产测绘平台可以轻松的找到这些存在配置问题原始资产。
https://github.com/ox01024/Wwaf/
这款工具可快速的识别云WAF
我想用这款工具的一个目的是:你得知道对方是否使用了云WAF,才会去谈论,绕过云WAF。
当然,这款工具也不能100%识别市面上所有的云WAF,但是至少识别出来的你可以优先选择去绕过。
我们可以尝试在网络空间测绘引擎中输入网站的静态资源
例如:
body="link href=/css/xxxxxxxxxxxx rel=prefetch>
"这种
之后看一下IP情况(与主站IP不一致、地点符合公司所在地)即可判断这个IP很有可能是原始IP
而找到IP以后,很有可能他是不让你用纯IP
访问的,此时你就需要注意,修改这个target为你找到的真实IP
你可以去选择使用
cert="domain"
这种格式去搜索,按照上述方法也能找到真实IP
对于一些只有自己在用的系统,还可以使用icon_hash来搜索使用同样图标的网站,说不定也能找到真实IP
子域名搜集-->提取出全部的IP-->将这些IP设置为字典,批量爆破
现在我提取了两个IP:
122.xxx.247.75 121.xxx.232.153
接下来利用Burp进行HOST碰撞
1.设置target为变量(注意取消右侧的那个update Host xxx
,变量的位置注意一下!)
2.导入字典
3.attack!
最终我们能发现这个153很有可能是不带云WAF的网站!
接下来我们尝试几种方式去找到这个系统的真实IP
假设目标域名为:
tysec.edu.cn
首先对target做云WAF检测
多地ping的结果
fofa搜 domain='tysec.edu.cn'
可以确定确实存在云WAF
观察主站,找到一个感觉上还不错的
之后直接开搜
我是如何找到的呢?其实不是很难,我观察了一下这个域名,首先这个网站的标题为浙江xxxx
然后他旗下的子域名、在浙江的只有
122.xxx.247.75 121.xxx.232.153
我们大胆猜测,很有可能这个主站就藏在这俩IP之间,我们搜一下
ip="121.40.232.153"
点开以后,确实是跟主站一样,但没有了云WAF的标志,成功绕过了。
实际上,如果说IP比较多的话,可以用HOST碰撞来实现
域名访问,尝试触发WAF
IP访问:
证明确实是绕过了云WAF