漏洞概要
关注数(17)
关注此漏洞
漏洞标题: PHPYUN最新版任意文件读取漏洞
提交时间: 2014-06-12 14:54
公开时间: 2014-09-10 14:56
漏洞类型: 设计缺陷/逻辑错误
危害等级: 高
自评Rank: 20
漏洞状态:
厂商已经确认
漏洞详情
披露状态:
2014-06-12: 细节已通知厂商并且等待厂商处理中
2014-06-12: 厂商已经确认,细节仅向厂商公开
2014-06-15: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2014-08-06: 细节向核心白帽子及相关领域专家公开
2014-08-16: 细节向普通白帽子公开
2014-08-26: 细节向实习白帽子公开
2014-09-10: 细节向公众公开
简要描述:
PHPYUN最新版任意问价你读取漏洞,第一次遇到这种漏洞哦!!!
详细说明:
刚刚研究了下二哥的XML实体注入:
http://**.**.**.**/bugs/wooyun-2010-058381
感觉好高大上哦,从来没遇到过,这几天看PHPYUN,突然想到了这个问题。
文件weixin/model/index.class.php
这里将$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];通过simplexml_load_string解析后的内容,直接带入了$topTpl:
然而$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];就是直接获取的POST过来的XML内容,没有经过任何处理,最后将其echo出来了。
真个过程就是传一个XML的内容进去,然后输出一个XML的内容,那么我们结果XML实体注入不就可以读取服务器上的内容,然后再输出出来么?!
实际证明是可行的,见漏洞证明!
当然这里有一个问题就是:
在入口会检测一个字符串:
如果用户设置了wx_token就没办法了,但是这个wx_token默认是空的。
所以在默认条件下,没有wx_token时,这个$tmpStr == $signature==da39a3ee5e6b4b0d3255bfef95601890afd80709,这是一个固定的值了,我们是完全可以利用上面的漏洞读入任意文件。
漏洞证明:
读取/phpyun/robots.txt内容
发送请求:
这里要注意:
signature=da39a3ee5e6b4b0d3255bfef95601890afd80709
Content-Type: text/xml
如图:
修复方案:
默认安装时加上随机wx_token,或者处理输入的内容。
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:5
确认时间:2014-06-12 15:40
厂商回复:
微信参数不设置确实存在该情况,我们会尽快完善,感谢您的提供,不过360也同步出了该问题,时间还要稍早!
最新状态:
暂无
漏洞评价:
对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值
漏洞评价(共0人评价):
评价
-
2014-06-12 15:04 |
索马里的海贼
( 普通白帽子 |
Rank:264 漏洞数:25 | http://tieba.baidu.com/f?kw=WOW)
0
-
2014-06-12 16:15 |
xfkxfk
( 核心白帽子 |
Rank:2299 漏洞数:351 | 呵呵!)
1
@php云人才系统 囧。。。
我会告诉你,还有一处么
-
-
2014-06-12 17:40 |
xfkxfk
( 核心白帽子 |
Rank:2299 漏洞数:351 | 呵呵!)
1
-
2014-09-11 18:30 |
_Evil
( 普通白帽子 |
Rank:431 漏洞数:61 | 万事无他,唯手熟尔。农民也会编程,别指望天...)
0
-
2014-11-18 15:37 |
p0di
( 普通白帽子 |
Rank:121 漏洞数:17 | 1+1 = 2 ?)
1
@xfkxfk 问下大神测的那个版本?3.1beta有这个吗?