DTStack Taier 1.4.0 listNames sql注入分析(CVE-2024-41579)

DTStack Taier 1.4.0 listNames sql注入分析(CVE-2024-41579)

原创 韭菜 fraud安全 2024-12-17 01:00

通告

漏洞分析

根据参考文献,很幸运发现了payload

通过payload可以知道漏洞触发接口是listNames
触发参数是jobName

在项目的Model
层和xml文件
查询jobName

在Java中sql拼接大致分为两种$
和#

$:预编译拼接sql语句

#:直接拼接sql语句

项目判断是Spring
框架,寻找接口到Controller

根据图上所示,Controlle
层直接post
获取jobName
请求参数

调用连ConsoleController.listNames->ConsoleService.listNames->ScheduleJobCacheMapper->listNames

东施效颦-漏洞挖掘

通过上述分析,寻找一个新的注入点

ScheduleJobCacheMapper.xml发现getOne接口使用了#
号作为占位符

逆向追踪对应的Model

继续追踪发现jobId
是通过Controller
传递的

继续分析Controller
代码,发现jobId
通过请求直接获取的

那么挖掘的sql注入:

请求方式:POST请求

请求接口:/taier/api/console/jobStick

注入参数:jobId