漏洞简介
LEAN MES系统是由深圳市深科特信息技术有限公司开发的一款应用系统,主要用于生产调度、产品跟踪、质量控制等车间管理功能。LEAN MES精益制造执行系统通过强调制造过程的信息化和透明化,帮助企业由粗放式向精益化管理模式升级。该系统/Handler/ChooseLineAndRes.ashx接口存在SQL注入漏洞,攻击者可以通过构造恶意的SQL语句,获取数据库中的敏感信息或对数据库进行未授权操作,可能导致数据泄露、篡改或系统崩溃。
影响版本
fofa语法
(title="LEAN MES - 用户登录" && body="LEAN MES") || body="Content/js/skt.utility.checkmobile.js" || body="../MobileApp/VerifyError.aspx" || body="Content/login/login2/multiplant_top.png"
漏洞分析
先看 ChooseLineAndRes.ashx 代码引用的部分

在bin目录找到SKT.LeanMES.Web.dll里找到Handler.ChooseLineAndRes的实现逻辑

根据HTTP请求参数 type 的值来进入不同的处理逻辑
当type=GetPDAFunction时,程序进入 GetPDAFunction 方法。

参数ModelName被带入new UIModel().GetPDAFunction中,跟进看下

至此,可以清楚看到参数ModelName最终未经过滤、转义或参数化处理,被直接拼接进sql语句中用于数据库查询的构建,从而造成了SQL注入漏洞。
漏洞复现
POST /Handler/ChooseLineAndRes.ashx HTTP/1.1
Host: lean.mes.mrxn.net
Content-Type: application/x-www-form-urlencoded
type=GetPDAFunction&ModelName=SQLI_POC

成功通过报错注入,在响应里回显数据库版本信息


