Cloudflare作为全球领先的网络安全和性能优化服务提供商,其防护机制(如WAF、DDoS防护、Bot管理等)常成为渗透测试中的一大障碍,本文从实战角度出发,针对Cloudflare的防护体系,分享几个绕过cloudflare的小Tips。
Cloudflare通过多层防护体系拦截恶意流量,主要包括:
基于OWASP CRS规则集,拦截SQL注入、XSS等常见攻击
2.Bot防护
通过JavaScript验证、Cookie追踪、User-Agent检测等手段识别自动化流量
3.IP信誉系统
封锁高风险IP(如Tor节点),并基于速率限制防御DDoS攻击
4.边缘计算验证
利用Workers脚本执行客户端验证,例如验证码或JS挑战
1. 请求头与流量特征伪装
- User-Agent动态模拟:使用随机化或主流浏览器的合法UA,避免触发规则库匹配。例如在Python中通过requests库设置动态UA头
- X-Forwarded-For伪造:通过反向代理(如Cloudflare Worker)添加X-Forwarded-For头,覆盖真实IP地址
- Cookie复用与混淆:从合法会话中提取Cookie,或通过Selenium等工具模拟浏览器环境生成有效Cookie
案例:通过自建Cloudflare Worker代理,注入自定义Header(如CF-Connecting-IP和X-Forwarded-For),将恶意流量伪装为来自Cloudflare信任的IP段,绕过地理封锁和速率限制
2. 命令注入的语法混淆
Cloudflare的WAF依赖正则表达式匹配攻击特征,通过语法变形可绕过检测:
- 未初始化变量插入:在命令中插入未初始化的Bash变量(如catu/etcu/passwdu),利用Bash将其解析为空字符串,绕过关键字过滤
- 字符编码与分割:使用URL编码、Unicode或换行符(%0A)分割恶意语句。例如将cat /etc/passwd改写为cat${u0065tc}/passwd
- 注释干扰:插入无害注释扰乱正则匹配,例如在SQL注入中使用/*!UnIon*/ selecT混合大小写和注释
案例:在RCE漏洞利用中,通过;catu/etcu/passwdu绕过Cloudflare对cat /etc/passwd的拦截,成功读取系统文件
3. SQL注入的混淆技术
- 内联注释与语法变形:利用数据库特性绕过规则,例如MySQL中/*!50000UNION*/ SELECT强制版本执行
- 分块传输编码:通过分块传输(Chunked Encoding)分割注入语句,规避WAF的完整请求体检测
- 多重编码混淆:对注入语句进行多层URL或Base64编码,例如将UNION SELECT转换为%55%4E%49%4F%4E%20%53%45%4C%45%43%54
案例:在目标网站的SQL注入点,使用'/*!UnIon/*trick*/*/ sElect 1,2,3绕过WAF检测,成功提取数据库表名
4. 反向代理与边缘节点利用
- Cloudflare Worker代理:注册免费域名并部署自定义Worker脚本,将恶意流量路由至Cloudflare边缘节点,利用其IP信誉绕过封锁
- Tor网络结合代理池:通过Tor切换出口节点,并配合代理池(如Scrapy Proxy)分散请求,规避IP速率限制
案例:搭建Worker代理转发请求至目标站点,注入CF-WORKER头伪装为合法流量,绕过Bot验证机制
5. 自动化工具与框架
- WAF指纹识别:使用WAFW00F或Nmap脚本(如http-waf-detect)识别Cloudflare规则版本,针对性构造Payload
- 浏览器自动化:通过Selenium或Playwright模拟完整浏览器行为,执行JavaScript挑战并获取合法会话Cookie
- 穿云API集成:调用穿云API自动化处理UA伪装、JS执行及Cookie管理,实现批量请求
6. 基于协议漏洞的IP泄露
- 邮件服务器关联分析:通过目标网站的邮件服务(如密码重置、订阅邮件)提取邮件头中的Return-Path或Received字段,直接获取未受Cloudflare保护的邮件服务器IP。
例如,某电商平台密码重置邮件的Received: from mail.example.com (192.168.1.100)泄露了源服务器IP。
- XML-RPC广播利用:针对WordPress等平台,利用XML-RPC的pingback功能构造请求,通过sourceUri参数诱导服务器回连至渗透测试人员控制的服务器,从日志中提取源IP
- SSRF漏洞获取元数据:若目标存在SSRF漏洞,可构造请求访问http://169.254.169.254/latest/meta-data/public-ipv4(AWS元数据接口)或/etc/hosts文件,直接获取真实IP
原文始发于微信公众号(星尘安全):渗透测试中,如何绕过烦人的cloudflare
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论