DTStack Taier 1.4.0 listNames sql注入分析(CVE-2024-41579)
通告
漏洞分析
根据参考文献,很幸运发现了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
在分析漏洞的过程中,模仿大佬的行为,发现了一个新的sql注入点^ _ ^。
0 条评论
可输入 255 字