web渗透测试中WAF绕过讲解(一)针对CDN类型的WAF绕过 pmiaowu [url=]迪哥讲事[/url] 2023-08-17 22:43 发表于江苏 收录于合集 #bug bounty406个 #漏洞挖掘241个 #WAF1个 web渗透测试中WAF绕过讲解(一)针对CDN类型的WAF绕过 0x01 前言 许多Hacker总是生存在与WAF的不断抗争之中的,厂商不断过滤,Hacker不断的骚操作绕过。WAF与Hacker总是在斗智斗勇,经过长时间的发展,近年越来越多的Hacker投入到与WAF进行对抗,相对应的绕过方法也被大量的暴露出来,笔者今日就先进行个小小的科普先来说说WAF是什么。 0x02 什么是WAF? 简单的来说它是一个Web应用程序防火墙他的功能是执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。 0x03 国内常见的WAF 360网站卫士 百度云加速 D盾 阿里云云盾 安全宝 安全狗 护卫神 云锁 0x04 针对CDN类型的WAF绕过 首先我们要知道 CDN 是什么,这里直接百度复制。 CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。 目前CDN服务的功能是越来越多,安全性也越加强悍,用户的每个请求都会被发送到指定的CDN节点上,最后转发给真实站点。这个过程提供了缓存、加速、防御的特点。 方法一:二级域名法 目标站点一般不会把所有的二级域名放cdn上,比如试验性质地二级域名。Google site一下目标的域名,看有没有二级域名出现,挨个排查,确定了没使用cdn的二级域名后,本地将目标域名绑定到同ip,能访问就说明目标站与此二级域名在同一个服务器上。不在同一服务器也可能在同C段,扫描C段所有开80端口的ip,挨个试。如果google搜不到也不代表没有,我们拿常见的二级域名构造一个字典,猜出它的二级域名。比如mail、cache、img。例子:Google网站下 输入 site:baidu.com 搜索出所有带baidu.com的域名 也可以使用“Layer子域名挖掘机”工具来跑二级域名(工具会放在附件中供下载) Layer子域名挖掘机3.1 百万大字典 20151021.rar (262 kB) 子域名爆破工具subDomainsBrute.zip (283 kB) 获取方式见文末 方法二:多地点ping法 ping 命令这样写 ping xxxx.com 而不是 ping www. xxxx .com,ping xxxx.com一般都会是真实IP,有一些CDN厂商基本只要求把 www. xxxx .com cname到cdn主服务器上去。 www.xxx.com 和 xxx.com 是两条独立的解析记录。 在线的利用工具 方法三:nslookup法 大部分CDN提供商只针对国内市场,而对国外市场几乎是不做CDN,所以有很大的几率会直接解析到真实IP。其实这个方法根本不用上国外vpn,因为你上国外vpn的ping本质,就是使用国外dns(那台vpn服务器使用的dns)查询域名而已,所以只需要:nslookup http://xxx.com国外dns,就行了,例如:nslookup http://xxx.com 8.8.8.8,提示:你要找冷门国外DNS才行,像谷歌的DNS,国内用的人越来越多了,很多CDN提供商都把谷歌DNS作为国内市场之一,所以,你查到的结果会和国内差不了多少 如何用本地计算机查询DNS记录? 打开命令提示符窗口(开始--运行---输入CMD--回车) nslookup的语法为:nslookup –qt=类型 目标域名(注意qt必须小写) 类型主要有: A:地址记录(Ipv4) AAAA:地址记录(Ipv6) CNAME:别名记录 HINFO:硬件配置记录,包括CPU、操作系统信息 ISDN:域名对应的 ISDN:号码 MB:存放指定邮箱的服务器 MG:邮件组记录 MINFO:邮件组和邮箱的信息记录 MR:改名的邮箱记录 MX:邮件服务器记录 NS:名字服务器记录 PTR:反向记录 RP:负责人记录 SRV TCP:服务器信息记录 TXT:域名对应的文本信息 比如你要查询baidu.com的A记录,那在命令符提示窗口输入:nslookup -qt=a baidu.com则可以查到相应的记录 如何使用指定DNS服务器查询? 语法为: nslookup -qt=类型 目标域名 指定的DNS服务器IP或域名 例子:nslookup -qt=A tool.chinaz.com 8.8.8.8 在线的利用工具 方法四:查询域名历史DNS解析 指的是查找域名历史解析记录,因为域名在上CDN之前用的IP,很有可能就是CDN的真实源IP地址,有个专门的网站提供域名解析历史记录查询 在线的利用工具 方法五:查找phpinfo 这个要看运气找到phpinfo的时候查看里面的SERVER_NAME即可知道真实IP 方法六:胆大有钱才能做 免费CDN,一般防御也就送免费的几十G,直接DDOS冲cdn打,把CDN流量打完,自然就回源了,真实IP也就暴露出来了。 原文: https://www.yuque.com/pmiaowu/ivg8go/fcyeke 福利视频 笔者自己录制的一套php视频教程(适合0基础的),感兴趣的童鞋可以看看,基础视频总共约200多集,目前已经录制完毕,后续还有更多视频出品 https://space.bilibili.com/177546377/channel/seriesdetail?sid=2949374 技术交流 技术交流请加笔者微信:richardo1o1 (暗号:growing) 如果你是一个长期主义者,欢迎加入我的知识星球( 优先查看这个链接,里面可能还有优惠券),我们一起往前走,每日都会更新,精细化运营,微信识别二维码付费即可加入,如不满意,72 小时内可在 App 内无条件自助退款
|