TRS WCM 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

        sendFileBase64

经测试其中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….

漏洞证明:

这个我没试过,图片是别人发给我的,我不大清楚咧。

writeFile:

3.jpg

5.jpg

writeSpecFile:

1.jpg

22.jpg

发表评论

电子邮件地址不会被公开。 必填项已用*标注