当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2013-034315

漏洞标题:TRS WCM 6.X系统任意文件写入漏洞

相关厂商:北京拓尔思信息技术股份有限公司

漏洞作者: 鶆鶈

提交时间:2013-08-14 08:55

修复时间:2013-09-28 08:56

公开时间:2013-09-28 08:56

漏洞类型:文件上传导致任意代码执行

危害等级:中

自评Rank:20

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-08-14: 细节已通知厂商并且等待厂商处理中
2013-08-14: 厂商已经确认,细节仅向厂商公开
2013-08-24: 细节向核心白帽子及相关领域专家公开
2013-09-03: 细节向普通白帽子公开
2013-09-13: 细节向实习白帽子公开
2013-09-28: 细节向公众公开

简要描述:

可以直接向服务器写入文件,文件名和内容可自定义;
影响版本未知,大概是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

修复方案:

NULL.

版权声明:转载请注明来源 鶆鶈@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2013-08-14 16:37

厂商回复:

非常感谢您的反馈,我们已确认问题并制定修复方案,马上会发布安全更新。

最新状态:

2013-10-12:该问题已在8月完成修复,感谢大家对TRS产品安全的关注和支持,我们会一直努力!


漏洞评价:

评论

  1. 2013-08-14 09:20 | 小胖子 认证白帽子 ( 核心白帽子 | Rank:1727 漏洞数:140 | 如果大海能够带走我的矮丑...)

    这个尼玛是0day啊,果断收藏~

  2. 2013-08-14 09:22 | john ( 普通白帽子 | Rank:222 漏洞数:25 )

    我高兴了

  3. 2013-08-14 10:25 | Jesus ( 实习白帽子 | Rank:60 漏洞数:18 | 天地不仁,以万物为刍狗!)

    @john 你的trs神话将被打破

  4. 2013-08-14 10:34 | 小川 认证白帽子 ( 核心白帽子 | Rank:1344 漏洞数:216 | 一个致力要将乌云变成搞笑论坛的男人)

    楼主走好~

  5. 2013-08-14 10:39 | Bincker ( 普通白帽子 | Rank:193 漏洞数:23 )

    当年公开TRS漏洞被请喝茶至今记忆犹新啊!!!

  6. 2013-08-14 10:39 | Bincker ( 普通白帽子 | Rank:193 漏洞数:23 )

    当年majun公开TRS漏洞被请喝茶至今记忆犹新啊!!!

  7. 2013-08-14 13:19 | 鶆鶈 ( 普通白帽子 | Rank:306 漏洞数:30 )

    @Bincker 别介啊,什么个情况?我是给客户做测试的时候遇到这个系统了,漏洞很简单很粗暴,不写上去都不好意思啊。发wooyun一来赚点Rank,二来让wooyun通知厂商修复漏洞,发布补丁,好为用户消除安全风险么,我看wooyun上也有trs的先例啊。

  8. 2013-08-14 13:52 | 疯狗 认证白帽子 ( 实习白帽子 | Rank:44 漏洞数:2 | 阅尽天下漏洞,心中自然无码。)

    @鶆鶈 稍安勿躁,乌云上报告没问题的

  9. 2013-08-14 14:16 | xsser 认证白帽子 ( 普通白帽子 | Rank:254 漏洞数:18 | 当我又回首一切,这个世界会好吗?)

    路过问下洞主名字怎么发音

  10. 2013-08-14 18:15 | 鶆鶈 ( 普通白帽子 | Rank:306 漏洞数:30 )

    厂商 北京拓尔思信息技术股份有限公司 给你发送了礼物...看来不会喝茶了。@xsser 读左边。

  11. 2013-08-14 19:10 | 落叶纷飞 ( 实习白帽子 | Rank:34 漏洞数:1 | im luoye,Once the 00day.cn)

    @Bincker majun是SB

  12. 2013-08-14 20:18 | 雨夜 ( 普通白帽子 | Rank:207 漏洞数:30 | 别和我谈感情,太伤钱……)

    @鶆鶈 礼物是船票

  13. 2013-08-15 00:23 | 刺刺 ( 普通白帽子 | Rank:603 漏洞数:52 | 真正的安全并不是技术,而是人类善良的心灵...)

    @鶆鶈 3rd plugin && web service?

  14. 2013-08-15 12:20 | 鶆鶈 ( 普通白帽子 | Rank:306 漏洞数:30 )

    @刺刺 是,不过3rd plugin这个我倒不了解。

  15. 2013-08-15 12:38 | 刺刺 ( 普通白帽子 | Rank:603 漏洞数:52 | 真正的安全并不是技术,而是人类善良的心灵...)

    @鶆鶈 3rd plugin我的意思是第三方的插件,呵呵;非常感谢您的指点。

  16. 2013-09-08 23:32 | 想要减肥的胖纸 ( 普通白帽子 | Rank:250 漏洞数:42 )

    @john 建议通知cnvd把政府部门的系统升级吧。这个漏洞不应该这么早公开。xx部委等都存在这些问题。

  17. 2013-09-08 23:34 | 想要减肥的胖纸 ( 普通白帽子 | Rank:250 漏洞数:42 )

    另外厂商只给10rank? 我就不想说啥了。要不我日了xx部委 然后给wooyun然后再找cnvd cncert神马的。给厂商压力?。。。。

  18. 2013-09-09 08:11 | 淡漠天空 认证白帽子 ( 实习白帽子 | Rank:1113 漏洞数:142 | M:出售GOV STATE NSA CIA NASA DHS Symant...)

    @ Jesus 不多说什么了

  19. 2013-09-09 10:46 | 刺刺 ( 普通白帽子 | Rank:603 漏洞数:52 | 真正的安全并不是技术,而是人类善良的心灵...)

    我比较好奇的是他们发给洞主的礼物。厂商活动里面可是有2次记录的哟!@鶆鶈

  20. 2013-09-09 10:59 | 鶆鶈 ( 普通白帽子 | Rank:306 漏洞数:30 )

    @刺刺 我还啥都没看见啊。

  21. 2013-09-09 11:05 | 小九 ( 路人 | Rank:16 漏洞数:5 | 非尖刀小九,民间草根)

    厂商响应速度挺快的。

  22. 2013-09-17 15:12 | luwikes ( 普通白帽子 | Rank:512 漏洞数:77 | 潜心学习~~~)

    @鶆鶈 弱弱的问,这个编辑器叫什么名字啊

  23. 2013-09-17 15:35 | 鶆鶈 ( 普通白帽子 | Rank:306 漏洞数:30 )

    @luwikes 你是说图里发送webservice请求的东西吧?叫soapUI,挺好使的。

  24. 2013-09-17 21:20 | luwikes ( 普通白帽子 | Rank:512 漏洞数:77 | 潜心学习~~~)

    @鶆鶈 嗯,是的,谢谢

  25. 2013-09-17 21:42 | 小胖子 认证白帽子 ( 核心白帽子 | Rank:1727 漏洞数:140 | 如果大海能够带走我的矮丑...)

    @鶆鶈 求一下详细的利用方式

  26. 2013-09-18 18:16 | 鶆鶈 ( 普通白帽子 | Rank:306 漏洞数:30 )

    @小胖子 差不多就是访问webserivce,把wsdl信息文件保存下来,用soapUI导进去就可以操作了...利用过程挺简单的,具体看下soapUI的用法就知道了.

  27. 2013-09-18 19:14 | 小胖子 认证白帽子 ( 核心白帽子 | Rank:1727 漏洞数:140 | 如果大海能够带走我的矮丑...)

    @鶆鶈 3Q

  28. 2013-09-26 12:50 | 想要减肥的胖纸 ( 普通白帽子 | Rank:250 漏洞数:42 )

    @鶆鶈 我是土鳖,我用http post就成功利用了。

  29. 2013-10-10 22:44 | pangshenjie ( 普通白帽子 | Rank:110 漏洞数:14 )

    @鶆鶈 sendFileBase64、uploadFile这些貌似是不行了吧,后缀那个../一直没成功。估计是win下目录结尾.的问题

  30. 2013-10-11 13:59 | 鶆鶈 ( 普通白帽子 | Rank:306 漏洞数:30 )

    @pangshenjie sendFileBase64、uploadFile这些在windows下可行吧。

  31. 2013-10-11 15:10 | pangshenjie ( 普通白帽子 | Rank:110 漏洞数:14 )

    @鶆鶈 嗯。win下应该是可以的

  32. 2013-10-11 22:02 | Ocean ( 实习白帽子 | Rank:78 漏洞数:11 | 你连世界都没有观过,哪来的世界观。)

    @鶆鶈 "writeFile方式会返回物理路径",返回的都不是网站路径。。。。

  33. 2013-10-11 22:52 | pangshenjie ( 普通白帽子 | Rank:110 漏洞数:14 )

    @Ocean 应该是传个文件会返回文件的绝对路径吧。。。。我昨天测试了一个发现只有sendFileBase64、uploadFile,只能自定义文件后缀,linux下貌似不能跳到web目录了

  34. 2013-10-11 23:10 | 鶆鶈 ( 普通白帽子 | Rank:306 漏洞数:30 )

    @pangshenjie 厂家目前的修复方式应该就是把writeFile和writeSpecFile这两个操作去掉了(这修复方式...汗),在linux下面只有writeSpecFile可以跨目录写文件,没这个就搞不了了。

  35. 2013-10-11 23:21 | Ocean ( 实习白帽子 | Rank:78 漏洞数:11 | 你连世界都没有观过,哪来的世界观。)

    @pangshenjie @鶆鶈 java.io.FileNotFoundException: D:\TRS\TRSWCM5.2\WCMData\systemp\ST201310\ST20131011\ST20131011838283900463.\home\a.jsp (系统找不到指定的路径。)测试了很多站都是返回这个。

  36. 2013-10-12 12:37 | pangshenjie ( 普通白帽子 | Rank:110 漏洞数:14 )

    @鶆鶈 我的情况和ls一样,linux下貌似不能跳出去目录了,随机名字后面那个点处理不掉

  37. 2013-10-12 14:02 | 鶆鶈 ( 普通白帽子 | Rank:306 漏洞数:30 )

    @Ocean 你提交的是\home\a.jsp吧?D:\TRS\TRSWCM5.2\WCMData\systemp\ST201310\ST20131011\ST20131011838283900463.\home这个路径肯定是不存在的,所以会失败。你要写到一个存在路径里如:/../../../../../Tomcat/webapps/wcm/a.jsp@pangshenjie 我测试的结果是linux下只有writeSpecFile才能跨目录写文件,这个方法被删除后就linux下就没法getshell了。

  38. 2013-10-12 17:19 | Ocean ( 实习白帽子 | Rank:78 漏洞数:11 | 你连世界都没有观过,哪来的世界观。)

    @鶆鶈 /../../../../../Tomcat/webapps/wcm/a.jsp做个饭路径是自己猜的还是返回的?就是想知道怎么来的。网站的物理路径不知道。

  39. 2013-10-12 17:37 | 鶆鶈 ( 普通白帽子 | Rank:306 漏洞数:30 )

    @Ocean 猜的,trs默认是这样的。

  40. 2013-10-12 17:42 | Ocean ( 实习白帽子 | Rank:78 漏洞数:11 | 你连世界都没有观过,哪来的世界观。)

    @鶆鶈 所有的操作系统都是这样,默认吗?writeFile方式会返回物理路径,被你这句话误导了

  41. 2013-10-13 00:42 | pangshenjie ( 普通白帽子 | Rank:110 漏洞数:14 )

    @鶆鶈 确实是。。linux还有个uploadfile那个地方指定后缀是跳不出去。

  42. 2014-04-08 17:34 | hack2012 ( 实习白帽子 | Rank:31 漏洞数:3 | 关注信息安全 http://www.waitalone.cn/)

    测试了一下windows下的 没有成功。。。

  43. 2014-07-17 17:21 | Skull ( 实习白帽子 | Rank:95 漏洞数:33 | 菜鸟一枚。)

    @想要减肥的胖纸 @鶆鶈 详细利用求方法

  44. 2014-07-17 19:53 | 鶆鶈 ( 普通白帽子 | Rank:306 漏洞数:30 )

    @Skull 这漏洞都过去很长时间基本都修复了,具体利用方法你熟悉下soapUI的用法,再对照上面说的基本就清楚了。

  45. 2014-07-22 15:31 | 0xTback ( 路人 | Rank:0 漏洞数:1 | 初入江湖,请多多关照~!!!)

    @鶆鶈 今天在做安全测试的遇到了,但不是gov站,LZ能否说一下详细的利用方法,就是访问webserivce后如何把wsdl信息文件保存下来,是直接保存HTML?

  46. 2014-07-22 15:34 | 10457793 ( 普通白帽子 | Rank:867 漏洞数:128 | 说好的借,为什么从来不还?O(∩_∩)O)

    @0xTback WVS里面有webserivce相关工具 试试

  47. 2014-07-22 22:46 | 0xTback ( 路人 | Rank:0 漏洞数:1 | 初入江湖,请多多关照~!!!)

    @鶆鶈 洞主的soapUI是普通版还是专业版?

  48. 2014-07-23 09:00 | 鶆鶈 ( 普通白帽子 | Rank:306 漏洞数:30 )

    @0xTback 普通版的吧。

  49. 2014-07-24 20:39 | 0xTback ( 路人 | Rank:0 漏洞数:1 | 初入江湖,请多多关照~!!!)

    @鶆鶈 上传base64加密后的文件内容(jsp webshell)用到了soapUI的哪种功能?请洞主指点一下。。。。

  50. 2014-07-25 09:04 | 刺刺 ( 普通白帽子 | Rank:603 漏洞数:52 | 真正的安全并不是技术,而是人类善良的心灵...)

    洞主,你要好好给我们讲解一下呀!在wooyun这个充满分享和学习平台,@鶆鶈 你义不容辞呀!哈哈

  51. 2014-07-26 09:56 | 鶆鶈 ( 普通白帽子 | Rank:306 漏洞数:30 )

    @0xTback 和soapui无关,是要提交的数据是base64编码后的,从图里可以看出来。@刺刺 当时我觉得已经说得比较明白了哈,没考虑到有些朋友可能不大熟悉webservice操作。 要有问题私下PM吧,这上面说不清楚。

  52. 2014-07-26 16:20 | 0xTback ( 路人 | Rank:0 漏洞数:1 | 初入江湖,请多多关照~!!!)

    @鶆鶈 哦,谢谢洞主,我最近恶补了一些java service的知识,用soapui已经提交成功了,谢谢

  53. 2014-07-26 16:22 | 0xTback ( 路人 | Rank:0 漏洞数:1 | 初入江湖,请多多关照~!!!)

    @鶆鶈 webservice在搞开发的朋友里确实很少人问津,不过搞WEB XML性能测试的应该很熟悉~!