2.0 KiB
来源刨洞安全
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 改改
