可以直接向服务器写入文件,文件名和内容可自定义;
影响版本未知,大概是6.X吧,收费的家伙也没条件一一测试;
是否通用未知,网上搜索了几个,都存在这问题。
详细说明:TRS WCM的Web Service提供了向服务器写入文件的方式,可以直接写 jsp 文件获取webshell。
Web Service路径:http://xx~/wcm/services,web service信息大概是这个样子的:
trswcm:ImportService (wsdl)
importDocuments
urn:FileService (wsdl)
sendFileBase64
trswcm:GetChannelInfoService (wsdl)
getAllChannelXML
getChannelXML
trswcm:GetSOAPInfoService (wsdl)
getMajorVersion
trswcm:SOAPService (wsdl)
getMajorVersion
importDocuments
uploadFile
importDocumentsByLocalFile
getAllChannelXML
getChannelChildrenXML
getChannelXML
getSiteXML
sendFileBase64
...
trs:templateservicefacade (wsdl)
logout
login
writeFile
preview
checkin
checkout
getAllSettings
getSettingByType
confirm
getSettingTypeList
getAllSites
writeSpecFile
makeTemplateFolder
trswcm:UploadService (wsdl)
uploadFile
经测试其中trs:templateservicefacade服务的writeFile和writeSpecFile两个操作都可以向服务器写入文件,其它还有些sendFileBase64、uploadFile之类的没试过了。
1.writeFile和writeSpecFile两个操作参数差不多,第一个参数都是base64 加密 后的文件内容;
2.writeFile方式会返回物理路径,使用writeSpecFile前需要用writeFile获取路径;
3.writeFile第二参数是文件后缀名,在windows版本下可以利用跳转目录;
4.writeSpecFile第二个参数是文件绝对路径,这个就随便搞了;
5.访问大部分JSP页面时 系统 经常会验证是否登陆,否则跳转,一般写这几个地方就OK(这几个默认是没有的):
~/wcm/index.jsp
~/wcm/demo/index.jsp
~/wcm/include/login.jsp
...more...
6.注意:writeSpecFile会覆盖原文件,writeFile则会返回失败,不会覆盖原文件;
7....
这个我没试过,图片是别人发给我的,我不大清楚咧。
查看更多关于TRS WCM 6.X系统任意文件写入 - 网站安全 - 自学ph的详细内容...