代码审计一次SQL注入漏洞挖掘

admin 2026-04-16 05:16:28 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 本文详细分析了一套PHP小众源码中的SQL注入漏洞挖掘过程,发现dostrslashes()函数对单引号的过滤存在缺陷,结合input()和where()函数的多重过滤机制仍可被绕过,最终通过find()函数执行恶意SQL语句导致注入,并展示了漏洞证明。 综合评分: 85 文章分类: 代码审计,漏洞分析,web安全,安全开发


cover_image

代码审计 一次SQL注入漏洞挖掘

原创

moonsec moonsec

moonsec

2026年4月14日 11:08 广东

在小说阅读器读本章

去阅读

免责声明:本公众号所提供的文字和信息仅供学习和研究使用,不得用于任何非法用途。我们强烈谴责任何非法活动,并严格遵守法律法规。读者应该自觉遵守法律法规,不得利用本公众号所提供的信息从事任何违法活动。本公众号不对读者的任何违法行为承担任何责任。

一、简介

最近分析了一套php的小众源码。发现了一个SQL注入漏洞 觉得有点意思。

二、过程

在index.php 存在函数 doStrslashes()函数

这个函数的作用是对全局输入的参数过滤 主要的作用是将特殊字符'转换成\'

创建函数进行测试

对特殊字符过滤

这套系统还有其他方式接受参数 input函数

跟进函数分析

主要的作用是对传入的参数进行分类获取。这样依旧会进行过滤 因为一开始的时候 必须经过 doStrslashes函数再进入input函数。 传入的参数对进入where函数

跟进where函数 对token的值进行处理。

接着进入 escapeString函数 作用是对\'在进行一次过滤

变成 $0 = '1\\\''

经过处理最终 token = '1\\''变成这样  这种情况会造成SQL注入

进入 find函数

根据 buildWhere函数

最后到达execute函数执行 调用query执行sql语句

报错进入 error函数 把报错的内容显示出来。

漏洞证明

三.安全培训

如果你想系统掌握网络安全实战技能,从入门到进阶完成一次能力跃迁,我们提供了高质量的培训课程,内容涵盖 Web 安全、内网渗透、红队对抗、代码审计等方向。课程由实战经验丰富的讲师教学,适合零基础或有一定基础的学员。有兴趣了解课程详情,扫一扫 添加月师傅微信


免责声明:

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

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

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

本文转载自:moonsec moonsec moonsec《代码审计 一次SQL注入漏洞挖掘》

评论:0   参与:  0