黑客军团SQL注入失败原因分析_黑客军团SQL注入问题排查与解决方案

那天,我坐在一间破旧的咖啡店里,看着电脑屏幕上一行行代码跳跃,突然发现了一个SQL注入漏洞。
我输入了一个简单的测试语句,页面没有崩溃。
反而出现了一串奇怪的字符。
我尝试输入“or 1 =1 ”并按 Enter 键,但页面没有响应。
等等,还有一件事。
我突然意识到我以前也遇到过类似的情况。
传递给 SQL 查询的参数是否不正确?
我仔细检查了代码,发现UI对用户输入进行了严格的类型转换,将“or 1 =1 ”转换为0。
我尝试修改输入,将数字1 替换为字符1 ,然后再次尝试,这次页面显示了错误信息。
我心中暗喜,看来这个漏洞可以被利用了。

我继续测试,发现后端默认转义括号,这让我意识到,如果攻击者能够绕过这种转义,那么 SQL 注入是可能的。
我尝试了很多编码,包括URL编码、Unicode编码、十六进制编码,都没有成功。

正当我准备放弃时,我突然想到我的WAF(Web应用程序防火墙)可以阻止我的攻击。
我尝试了不同的负载并观察到响应的差异。
我发现WAF对1 号有特殊的处理流程,我调整了攻击策略,使用了混淆和变异技术,最终成功绕过了WAF。

这次经历让我敏锐地意识到,保护SQL注入并不容易,需要从多个角度来考虑。
作为开发者,我们需要保持警惕,确保我们的应用程序能够抵御各种攻击。
然而,这仅仅是开始,还有很多挑战等待我们去面对。

濡備綍浣跨敤SQLMap缁曡繃WAF

那天在咖啡厅,我看着旁边的那个人在摆弄电脑。
屏幕上密密麻麻的符号,他还在嘀咕着什么。
他走后,我随手翻开他留下的一页笔记。
它充满了各种符号和箭头,旁边写着日期和版本号。
等等,这很有趣。
我以前也做过类似的事情,试图找出那些WAF规则中的漏洞。

我记得去年冬天,我正在家里测试,使用旧服务器并运行几个模拟网站。
当时,使用 SQLMap 1 .5 版来测试 CMS。
WAF很聪明,一开始就能拦截。
后来我改成了一个名为 space2 morehash.py 的操作脚本来绕过这种检测。
屏幕上出现的字符看起来像是扭曲的代码和密码。
这真的就像一个益智游戏。
输入payload为1 和9 2 2 7 =9 2 2 7 ,输出结果变成一组Base64 编码的字符串,如1 %2 3 PTTmJopxdWJ%0AAND%2 3 cWfcVRPV%0A9 2 2 7 =9 2 2 7 听起来很复杂,但已经做到了。

后来我尝试了许多不同的 WAF,有些使用 ModSecurity,有些则编写自己的规则。
有一个特别有趣的。
我使用的是ASP环境。
我使用的修补程序是 charunicodeencode.py 将字符转换为 Unicode 编码。
WAF 不会阻止它。
当时我输入了1 AND 1 =1 ,转换后就变成了一长串数字和字母,比如%u4 E3 C%u4 E3 C%u7 6 8 4 %u4 E3 C%u7 6 8 4 %u7 B4 9 %u7 B4 9 %u6 7 6 1 %u6 7 6 1 真的很成功。
然而,这种绕过方法如果使用过于频繁,很容易暴露。
毕竟WAF是在不断升级的。

现在想起来那些日子,我觉得很有趣。
但我想知道这些WAF是否已更新?这些黑客和防御者仍在玩这些猫捉老鼠的游戏。

绕过waf的方法有哪些

我记得去年在一家电商公司做渗透测试时,遇到了一个特别严格的WAF。
它实际上可以检测 SELECT 和 INSERT 等关键字并直接阻止它们。
我只是想,这么聪明,难道不能被忽视吗?
所以我开始思考这个问题。
例如,在拆分关键字、编写SE//LECT这样的SQL语句时,WAF并没有阻止。
只能匹配SELECT并忽略//。
还有Unicode编码,将u改为ü,WAF也很疑惑。

后来发现WAF并没有严格过滤掉特殊字符,所以我在参数中添加了换行符或者反斜杠,直接把WAF搞糊涂了。
URL 编码也非常有用。
例如,如果您将空格更改为 %2 0,WAF 将无法判断它是空格还是其他内容。

最有趣的是协议特性的使用。
我尝试了分块流式传输并将攻击负载分成小块,但 WAF 没有注意到。
还有慢速攻击,每秒发送一个字节的数据,WAF 流量阈值根本不起作用。
HTTP/2 的多路复用特性更是令人惊叹。
多个请求混合在一起,WAF 无法判断哪一个是攻击。

最令人惊奇的是WAF造成的逻辑缺陷。
当我发现某个WAF对JSON解析不严格后,我就构建了一个注入,直接绕过了。
参数也存在污染。
多次设置相同的参数名,后端实际上覆盖了之前的值,导致过滤失败。

渗透工具现在具有内置绕过功能。
例如,sqlmap模拟脚本有1 6 种混淆方法可供选择。
BurpSuite WAF-A-Molet插件就更好了,有超过2 00个旁路。
然而,云WAF现在使用机器学习,简单的字符变形效果较差。
但有一个例外。
有些系统将允许 CDNIP 和爬虫 UA 搜索引擎,并且伪装这些功能可能仍然有效。

在实际攻防中,混合使用CVE和服务器端解析差异的成功率更高。
例如,当与特定服务器漏洞扫描结合使用时,CVE-2 02 3 -1 6 7 1 简直难以处理。
等等,还有一件事,我突然想到,如果WAF开始使用AI来检测目标,是不是更难绕过?