为什么你挖不到sql注入

admin 2026-03-27 13:26:18 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文分享了三种挖掘SQL注入的非常规方法:1.在X-Forwarded-For等请求头中尝试单引号对进行测试;2.在URL路径的目录间插入单引号,而非仅在参数位;3.将一个接口的参数强行拼接到另一个接口上进行测试。作者认为,如今常规SQL注入已少见,需要新思路,并建议可利用AI来编写Burp插件以自动化这些测试。 综合评分: 85 文章分类: 渗透测试,WEB安全,实战经验,SRC活动


cover_image

为什么你挖不到sql注入

原创

小乳酸 小乳酸

网络安全之旅

2026年3月20日 13:26 江苏

最近一直在测国外的 SRC,目前是 hackerone 第一季度中国区第四。

下面我分享三种挖掘SQL注入的方法:

0x01 Header 里的“隐身”注入:别只盯着 Body

很多人抓到包,改改参数没反应就放了。我第一件事就是去搓 Header。

尤其是 X-Forwarded-For、X-Real-IP 这些取 IP 的头。很多开发觉得 IP 是系统传的,肯定安全,拿来就直接往日志表里塞,或者进风控、黑白名单里做 SQL 查询。

我的操作: 永远用 ‘ 和 ” 成对去试。

0x02 路径里的注入

大家都习惯在 URL 最后的参数位 Fuzz。但我习惯在目录中间横插一杠子。

比如有个路径是 /a/b/c。 我会试:/a/’ 对比 /a/”;然后再试 /a/b/’ 对比 /a/b/”。

为啥要这么干? 现在的后端路由五花八门。有些中间件会把 URL 里的某一段路径直接抠出来,拼进 SQL 去查权限或者查资源。

SRC案例:

还有就是在目录中添加单引号可能会引发系统报错,若是泄露系统路径,国外src也会给个俩百刀左右。

0x03 隐藏参数:把 A 接口的参数“喂”给 B 接口

这是我最核心的一招:跨接口的参数。

假如我抓到一个正常接口是 /api/v1/user?limit=1&xxxid=100。 这时候我会从 JS 资产里提取所有接口,比如 /api/internal/config。

重点来了: 我会把 ?limit=1&xxxid=100 这一整串参数,强行拼到那个接口后面。 然后再去试:limit=’&xxxid=’ 和 limit=”&xxxid=” ,看返回包有没有差别。

实战逻辑: 很多后端函数是公用的。虽然前端代码里没传这些参数,但后端其实一直在“等”这些参数。这些隐藏参数因为没人调,开发往往忘了加过滤,直接裸奔进数据库。

总结 现在常规的sql注入几乎很难有了,还得是需要一些新的思路。我分享的这些思路大家可以让ai写burp插件。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:网络安全之旅 小乳酸 小乳酸《为什么你挖不到sql注入》

评论:0   参与:  0