通告
漏洞分析
根据参考文献,很幸运发现了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
原文始发于微信公众号(fraud安全):DTStack Taier 1.4.0 listNames sql注入分析(CVE-2024-41579)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论