文章总结: 本文主要分享了PHP-SQL注入的代码审计思路与实战案例。作者通过分析BlueCMS、emlog以及某OA系统等多个项目,详细讲解了如何从文件路径、可控变量及过滤措施等方面快速定位漏洞,并结合具体案例说明了SQL注入的产生原因与验证方法。 综合评分: 75 文章分类: 代码审计,WEB安全,渗透测试,实战经验,安全工具
PHP-SQL注入代码审计
原创
嵩艺 嵩艺
嵩艺
2026年3月20日 19:28 河南
参考视频b站小迪安全和菜狗安全和知名小朋友大佬
免责声明:仅供参考学习,禁止非法活动,如有违法犯罪,概不追究本人责任。
挖掘大概思路
如何快速在多个代码里找到脆弱
1.看文件路径(前台优先看,后台往后看)
2.看代码里面的变量(可控变量)
3.看变量前后的过滤
案例(1)–小迪2023–bluecms
安装:
1.php版本 5.3.29 数据库 5.1.60
2.bluecms版本 BlueCMS BlueCMS 1.6
如何找到突破口
https://www.cnvd.org.cn/flaw/show/CNVD-2022-25774
(update|select|insert|delete|).*?where.*=
源码分析
漏洞验证
#
案例(2)–小迪2023php–emlog
安装:
1.php版本 5.6.29 数据库 5.1.60
2.bluecms版本emlog 6.0.0
如何找到突破口
https://www.cnvd.org.cn/flaw/show/CNVD-2018-26200
源码分析
漏洞验证
GET /admin/comment.php?action=delbyip&token=9f40e10adf43ac2af3f0098bc769eae4&ip=127.0.0.1%27and(extractvalue(1,concat(0x7e,(select%20user()),0x7e)))%20--+
也可以参考 “02安全公众号”
#
案例(3)—菜狗 公众号信呼OA分析-sql
版本:最新版本 2.7.0
参考文章:
https://mp.weixin.qq.com/s/YIQDnYjSbRFStPEWJ-nWBw 菜狗安全的审计 菜狗大佬的【代码审计-实战分析某OA前台注入&鉴权绕过】 https://www.bilibili.com/video/BV1aDqTYkEQm/?share_source=copy_web&vd_source=7ff27bdc142f051d6aec8c3424b47cb8 知名小朋友大佬的B站视频
路由分析
这里可以看看上面菜狗大佬,的文章,里面有详细讲解路由的配置代码思路思考
mvc框架,大概路由这样设置的
分析get封装
这里可以看一下知名小朋友大佬的b站视频,里面有讲到这个get的方法
在rock类中的get方法
跟进找到这里
漏洞产生地方
这个有意思,在封装get方法传参的过程中,会对base64进行解码(但是有条件,参数值需要以basejm_ 开头),然后对解码后的内容进行检查是否存在xss,sql注入等。<br/>但是某些前端输入的参数是base64编码,但是不要求是basejm_开头,会在传入参数之后,走完封装的get方法之后再进行base64解码。<br/>这样的话,前端传入到这个get封装的方法的时候没有满足解码要求,没有进行base64解码,get检测就是base64的内容,就会绕过检测,从而导致sql注入。<br/>信任没有完全覆盖。
寻找漏洞代码
底层封装的slq语句大概的意思
第二处
对应文件:webmain/system/table/tableAction.php
对应方法:savedbupurlAjax()
不搞了 大概思路都是一样,分析底层mysql 执行语句,然后进行poc验证
也是为网络安全事业奉献自己微薄之力。
卷的同时一定要主意好自己的身体,身体是第一。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:嵩艺 嵩艺 嵩艺《PHP-SQL注入代码审计》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。









评论