RuoYi漏洞点

admin 2022年12月19日11:09:19评论308 views字数 2440阅读8分8秒阅读模式
RuoYI指纹 => app="若依-管理系统"
RuoYI版本 => ry-ui.js?v=4.2.0 | ry-ui.css?v=4.2.0

Shiro RCE

漏洞分析

Pom.xml:20
com/ruoyi/framework/config/ShiroConfig.java:325
RuoYi漏洞点

File Download

RuoYI <= V4.5.0

漏洞分析

ResourceDownload

V4.1.0 <= RuoYI <= V4.5.0
com.ruoyi.common.utils.file.FileUtils#writeBytes
RuoYi漏洞点
com.ruoyi.web.controller.common.CommonController#resourceDownload
需要以 /profile 开头,从此目录回溯
RuoYi漏洞点

FileDownload

RuoYI <= V3.2.0
com/ruoyi/common/utils/file/FileUtils.java:38
RuoYi漏洞点
com/ruoyi/web/controller/common/CommonController.java:57 任意文件下载
RuoYi漏洞点

File Delete

RuoYI <= V3.2.0

漏洞分析

com/ruoyi/common/utils/file/FileUtils.java:85
RuoYi漏洞点
com/ruoyi/web/controller/common/CommonController.java:60 任意文件删除
RuoYi漏洞点

Sql Injection

RuoYI <= 4.6.2

漏洞分析

SysRoleMapper

src/main/resources/mapper/system/SysRoleMapper.xml#58
RuoYi漏洞点
=> com.ruoyi.system.mapper.SysRoleMapper#selectRoleList
=> com.ruoyi.system.service.impl.SysRoleServiceImpl#selectRoleList
=> com.ruoyi.web.controller.system.SysRoleController#list
=> com.ruoyi.system.domain.SysRole#dataScope
RuoYi漏洞点

SysDeptMapper

src/main/resources/mapper/system/SysDeptMapper.xml#51
       在147行还有一处注入
RuoYi漏洞点
=> com.ruoyi.system.mapper.SysDeptMapper#selectDeptList
=> com.ruoyi.system.service.impl.SysDeptServiceImpl#selectDeptList
       => 此方法在Controller层有多处调用
=> com.ruoyi.web.controller.system.SysDeptController#list
      

SysUserMapper

src/main/resources/mapper/system/SysUserMapper.xml#81
RuoYi漏洞点
=> com.ruoyi.system.mapper.SysUserMapper#selectUserList
=> com.ruoyi.system.service.impl.SysUserServiceImpl#selectUserList
       => 此方法在Controller层有多处调用
=> com.ruoyi.web.controller.system.SysUserController#list

Fastjson RCE

RuoYi <= v4.2.0

漏洞分析

com.ruoyi.generator.service.impl.GenTableServiceImpl#validateEdit
RuoYi漏洞点
没复现成功

RCE

V3.3.0 <= RuoYi <= v4.6.2

漏洞分析

com.ruoyi.quartz.util.JobInvokeUtil#invokeMethod(com.ruoyi.quartz.domain.SysJob)
RuoYi漏洞点
com.ruoyi.quartz.util.QuartzDisallowConcurrentExecution#doExecute
调用invokemethod方法,此处为JOB具体任务类
RuoYi漏洞点
com.ruoyi.quartz.controller.SysJobController#run
到达Controller层
RuoYi漏洞点
反射执行方法,限制如下:
1、类的构造方法为Public
2、类的构造方法无参
RuoYi漏洞点
3、调用目标字符串的参数为:支持字符串,布尔类型,长整型,浮点型,整型
RuoYi漏洞点
4、调用目标方法除了为Public,无参,还需要具有执行代码/命令的能力

Thymeleaf SSTI

V4.6.0 – V4.7.1

漏洞分析

localRefreshTask

com.ruoyi.web.controller.demo.controller.DemoFormController#localRefreshTask
RuoYi漏洞点

CacheController

com.ruoyi.web.controller.monitor.CacheController#getCacheNames
com.ruoyi.web.controller.monitor.CacheController#getCacheKeys
com.ruoyi.web.controller.monitor.CacheController#getCacheValue
RuoYi漏洞点

Shiro 多个认证绕过、Spring Framework反射型文件下载漏洞、FastJson RCE暂未学习,后续学了回来填坑。

Reference

https://doc.ruoyi.vip/ruoyi/document/kslj.html#%E5%8E%86%E5%8F%B2%E6%BC%8F%E6%B4%9E

原文始发于微信公众号(仙友道):RuoYi漏洞点

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年12月19日11:09:19
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   RuoYi漏洞点https://cn-sec.com/archives/1471495.html

发表评论

匿名网友 填写信息