JeecgBoot SSTI以及JDBC RCE 复现
今天接到消息,JeecgBoot
有 SSTI
和 JDBC RCE
漏洞,马上来分析复现一下
文笔不好,没去详细分析,随手一写
情报
两个接口存在 RCE
,分别是 /jmreport/queryFieldBySql
和 /jmreport/testConnection
SSTI
根据线索:
直接用 JADX
找到对应代码
很直接嘛,直接传入 sql
,那直接构造请求先试试:
居然还有黑名单?
输入个简单的试试:
这里起码还有个 SQL
注入漏洞
线索中说明了用 Freemarker
处理了传入的 sql
语句,那直接打 SSTI
试试
JDBC RCE
漏洞利用有个前提,必须有 H2
驱动的依赖
用 JADX
在反编译的代码中搜索 testConnection
,找到对应的接口
org.jeecg.modules.jmreport.desreport.a.a#a(org.jeecg.modules.jmreport.dyndb.vo.JmreportDynamicDataSourceVo)
在 IDEA
中查看
代码被压的爹妈都不认识了
根据入参 @RequestBody JmreportDynamicDataSourceVo var1
知道,传入一个 JmreportDynamicDataSourceVo
对象的 JSON
JmreportDynamicDataSourceVo
里面能自定义 dbUrl
,那么就直接构造参数,试试看
dbUrl
用前段时间的 metabase poc
改改
很简单就弹计算器了
后记
1、Freemarker
可以进一步注入内存马
2、H2 RCE
其实也可以注入内存马
3、jeecgboot
如没有特地引入 H2
驱动依赖,其实也能用另一种方式成功 RCE
,暂时不放出来
POC请点击文章下方的"阅读原文"获取
关注公众号后台回复 0001
领取域渗透思维导图,0002
领取VMware 17永久激活码,0003
获取SGK地址,0004
获取在线ChatGPT地址,0005
获取 Windows10渗透集成环境,0006
获取 CobaltStrike 4.8破解版
加我微信好友,邀请你进交流群
往期推荐
备用号,欢迎关注