跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

若依(RuoYi)框架漏洞总结

精选回复

发布于
0x00 前言 当你使用Zoey 时,黑客已经在使用Shiro 的默认密钥来轰炸你的Shell;当你还在为分页查询苦苦挣扎时,攻击者已经通过SQL注入接管了数据库;而你认为安全的计划任务只是他们操纵服务器的玩具。本手册将带你以敏锐的视角剖析Zoey 的每一个致命弱点。 —— 因为真正的安全始于知道如何摧毁它。image.png

简介

若易是一个基于Spring Boot和Vue.js的快速开发平台。它提供了很多常见后端管理系统所需的功能和组件,包括权限管理、定时任务、代码生成、日志管理等。若易的目标是帮助开发者快速构建后端管理系统,提高开发效率。 若一的版本有很多,其中最常用的有若一单一应用版(RuoYi)、若一前后端分离版(RuoYi-Vue)、若一微服务版(RuoYi-Cloud)、若一移动版(RuoYi-App)。 image.png

若依服务

阿里巴巴 阿里巴巴 春天 雷迪斯 mysql 米尼奥 快速JSON 四郎 swagger-ui.html 米巴蒂斯

搜索语法

福法: (icon_hash='-1231872293'|| icon_hash='706913071') 猎人: web.body='若易后台管理系统'

环境设置

新建文件夹,拉出若依源码 git克隆https://gitee.com/y_project/RuoYi image.png cd若仪 切换版本 git标签-l 开关 git checkout v4.5.1 image.png 接下来,我使用idea构建了它。 用phpstudy可以正常搭建Mysql 需要修改日志存储路径 image.png 配置mysql image.png image.png 启动即可,默认端口是80

0x01 弱密码

用户:admin ruoyi druid 密码:123456 管理员德鲁伊admin123 admin888

0x02 Shiro默认键

漏洞介绍

如果默认使用shiro组件,可以尝试shiro经典的rememberMe漏洞getshell。

受影响的版本

若一V-4.6.2

漏洞重现

在配置文件中,可以看到Shiro的key在配置文件中。 image.png 漏洞利用工具地址 https://github.com/SummerSec/ShiroAttack2 RuoYi-4.2版本使用shiro-1.4.2。此版本及后续版本需要勾选AES GCM模式。image.png image.png RuoYi 版本号对象版本4.6.1-4.3.1zSyK5Kp6PZAAjlT+eeNMlg==3.4- 及以下版本的默认AES 密钥fCq+/xW488hMTCD+cmJ3aQ==Ruo Yi-4.6.2 自版本4.6 以来一直使用随机密钥而不是固定密钥。如果想使用固定key,则需要自己指定key。因此,4.6.2版本之后,没有获取密钥就无法再使用。

0x03 SQL注入

注入点1 /role/list接口(V-4.6.2)

与上述4.5.1 版本相同 一、分析源码 Mybatis配置一般使用#{},类似于PreparedStatement的占位符效果,可以防止SQL注入。若一使用${}引发SQL注入。 image.png 跳跃 image.png 解释一下${params.dataScope} ${params.dataScope} 这段代码是MyBatis的动态SQL之一,主要用于在SQL查询中嵌入外部定义的字符串或参数。这里的${.}语法的意思是取出params对象中名为dataScope的属性值,直接嵌入到SQL语句中。 例如,在基于角色权限管理的系统中,不同的用户可能具有查看不同数据记录的权限。管理员可以查看所有部门的记录,而普通用户只能查看自己部门的记录。此时,dataScope的值可以是根据用户角色动态生成的SQL片段,如“AND dept_id IN (SELECT dept_id FROM user_dept_access WHERE user_id=#{userId})”,以限制查询结果仅包含特定部门的用户信息。 可以看到,查询时,user的属性参数为map。在xml中,dataScope拼接在sql语句之后。 进入映射器层 image.png 跳转到上一级 image.png 输入角色查看信息 image.png 查看功能 image.png 参数 image.png image.png 根据路径 image.png 执行代码 params[dataScope]=和extractvalue(1,concat(0x7e,(选择user()),0x7e)) image.png

注入点2/角色/导出(V-4.6.2)

注入点3 /user/list (V-4.6.2)

注入点4 /user/list (V-4.6.2)

注入点5 /dept/list (V-4.6.2)

注入点6 /role/authUser/alulatedList (V-4.6.2)

注入点7 /role/authUser/unallocatedList

注入点 8 /dept/edit (V-4.6.2)

部门名称=xxxxx

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。