当前位置: 首页 > news >正文

记我第一次代码审计 (bluecmsv1.6的sql注入复现)

此次漏洞复现搭建环境:php5.4.6+phpstudy+windows
1.首先获取bluecms源码并导入到phpstorm方便后续的代码审计,定位漏洞代码
在phpstorm可以使用快捷键shift+ctrl+f使用全局搜索功能并且支持正则匹配,通过这段查询语句(update|select|insert|delete|).?where.= 来匹配sql语句寻找漏洞代码。
屏幕截图 2025-12-07 215936
通过查询结果可以看到有非常多的结果,这个时候就需要通过一些技巧来快速定位可能存在漏洞的代码(能够直接利用的sql注入)
(1)可以通过查询到代码的位置在那个文件中来判断就像图中查询结果的文件名是后台地址这种sql语句一般实在后台管理面板这种情况即便存在漏洞也需要登陆后台所有利用起来就相对比较困难和鸡肋
屏幕截图 2025-12-07 220347
(2)通过看查看sql语句中是否有可控变量
(3)sql语句中对可控变量是否有函数就进行过滤,就比如这个查询结果里有intval()函数将结果转换成整数类型即便传入了注入语句也会被当作整数类型处理,虽然这个函数具有绕过方法但是我们代码审计的思路就是要优先找到最脆弱的地方并且利用,这样才能够大大提高效率和发现漏洞概率
屏幕截图 2025-12-07 233048
*
2审计漏洞代码
复现的漏洞代码在ad_js.php文件中这段php文件整体代码量并不大

屏幕截图 2025-12-07 220721
可以看到sql语句如下
$ad = $db->getone("SELECT * FROM ".table('ad')." WHERE ad_id =".$ad_id);
可以看到是有可控参数的并且也是直接拼接sql语句符合sql注入
(1)这个时候我们需要查看代码上下文判断$ad_id参数是如何传参的
$ad_id = !empty($_GET['ad_id']) ? trim($_GET['ad_id']) : '';
最后发现这段语句是控制变量的并且发现只有这两个empty()和trim()函数对ad_id参数进行了过滤但是并不影响我们的sql注入一个只是判断参数是否为空还有一个会过滤掉首尾部的空格虽然trim()函数具有过滤指定字符的效果但是他并没有指定
(2)判断完参数我们再看看sql语句中还有一个函数getone()
我们通过对函数的追踪可以发现他就是将sql语句传入数据库并执行并且将执行结果提取出来的函数的

屏幕截图 2025-12-07 235133
这个时候代码部分看完了发现确实存在sql注入我们就要开始进行验证了

3漏洞复现
通过访问/ad_js.php?ad_id发现页面显示error通过前面的上下文代码判断可以发现是因为ad_id参数没有传入任何值就会显示error
屏幕截图 2025-12-07 221341
这个时候我们传入注入语句
?ad_id=1 union select 1,2,3,4,5,6,7 #
通过上面的sql语句可以看出这个地方是一个数字型注入所以不需要闭合,在sql语句中可以看到.table('ad')查询的是以为ad为后缀的表我通过查看对应的表可以发现有七个字段

屏幕截图 2025-12-07 221508
我们通过联合注入来判断回显在哪,通过注入发现7是回显字段然后也证明了注入成功

屏幕截图 2025-12-07 221938
最后在简单查看一下当前数据库

屏幕截图 2025-12-07 222201
至此这次代码审计就算结束了

http://www.rkmt.cn/news/76323.html

相关文章:

  • 2025 最新成都/西南地区品牌策划服务商 / 公司 TOP5 评测!实战案例 + 系统服务权威榜单发布,助力企业品牌资产与业绩双增长
  • 2025杭州有哪些靠谱的舞蹈培训机构:拱墅区舞蹈培训机构推荐
  • 2025包装机械厂家/粉末吨袋包装机厂家综合实力榜单
  • 2025 最新成都/西南地区品牌设计服务商 / 公司 TOP5 评测!战略赋能 + 案例实证权威榜单发布,创意驱动重构品牌价值生态
  • 2025辽宁省高考志愿填报服务商 / 机构 TOP5 评测!专业规划 + 多元升学权威榜单发布,助力考生精准迈入理想高校
  • 2025辽宁省高一选科服务机构 TOP5 评测!专业规划 + 多元赋能权威榜单发布,科学指导构建升学优势生态
  • 2025辽宁省港澳升学服务机构TOP5评测!专业规划+多元路径权威榜单发布,助力学子圆梦理想学府
  • 12.7笔记
  • 用曲线坐标解二维问题 12
  • python题库 No.29 分类一下吧!
  • iReader 英语点读学习系统,译林小学英语在线点读
  • 2025年下半年上海ISO三体系认证服务商综合评估与权威推荐
  • ROS2概述和环境搭建
  • 20251207 新同学培训有感
  • 2025最新锂电池组装服务商/厂家TOP5评测!技术沉淀+定制方案权威榜单发布,赋能新能源产业升级发展
  • 博客园去除评论下面的广告
  • 20232419 2025-2026-1 《网络与系统攻防技术》实验八实验报告
  • White Album
  • 102302149赖翊煊数据采集与融合技术第四次作业
  • 深入解析:【Rust 探索之旅】Rust 库开发实战教程:从零构建高性能 HTTP 客户端库
  • 251207周天,今天是周天
  • 完整教程:和AI用TDD结对编程:1天开发一个完整的 Python 库
  • 12.4 maven简介
  • vs2026远程调试linux
  • DMY 周作业 47 简要题解
  • 在Android中动态加载类
  • 《安全测试指南》——会话管理测试【学习笔记】
  • 20251207
  • 高级语言程序设计第八次个人作业
  • 20232305 2025-2026-1 《网络与系统攻防技术》实验八实验报告