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

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

缺陷编号:wooyun-2015-0118944

漏洞标题:凤凰网客户端远程命令执行附加详细利用分析

相关厂商:凤凰网

漏洞作者: 小手冰凉

提交时间:2015-06-08 11:08

修复时间:2015-09-09 20:30

公开时间:2015-09-09 20:30

漏洞类型:远程代码执行

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-06-08: 细节已通知厂商并且等待厂商处理中
2015-06-11: 厂商已经确认,细节仅向厂商公开
2015-06-14: 细节向第三方安全合作伙伴开放
2015-08-05: 细节向核心白帽子及相关领域专家公开
2015-08-15: 细节向普通白帽子公开
2015-08-25: 细节向实习白帽子公开
2015-09-09: 细节向公众公开

简要描述:

凤凰网的新闻,看起来简直停不下来!

详细说明:

凤凰网客户端远程命令执行,这次就以你为跳板了
多个问题串起来达到远程命令执行的目的。
0x00 版本
目标凤凰新闻最新版(fenghuangxinwen_95.apk 4.4.3)
0x01 命令执行
这个版本的凤凰新闻编译的安卓目标版本过低导致命令执行漏洞

minSdkVersion: '9'
targetSdkVersion: '15'


测试
凤凰新闻阅读普通新闻的时候打开的正好是webview,我们将地址指向poc结果如下

捕获.PNG


0x02 接口过滤不严&新闻伪造
通常找app提供的接口都是去AndroidManifest.xml文件中找注册的接受类,然后去反编译分析源码,那样有时候反编译不出来,这里我们换个不同的思路。随便打开一个新闻,然后使用分享功能,把分享信息中的URL复制出来,在手机浏览器中打开,你会发现这个时候就会自动跳转到新闻客户端,这个过程其实就是手机浏览器根据网页上的提供的app的本地接口打开app,并且通常情况下都会传递一个数据过去,例如URL。这样也就以为这js中会暴露出这个app的提供的接口的使用方式。
使用这种方式我们发现了如下接口

comifengnewsclient://call?type=doc&id=<URL>


在js中用上面这个地址就会直接跳转到app。其中的URL是一个凤凰新闻的地址(例子:http://api.iclient.ifeng.com/ipadtestdoc?aid=99008381),返回的是一个json,其中包含这个新闻的所有信息。然后这个app就会按照这个json文件把新闻展示在页面上。整个过程完全没有验证URL或者是信息来源。
可用于新闻伪造,中奖信息欺骗等。
测试:
建立两个网页URLA和URLB
在URLA中使用js跳转到comifengnewsclient://call?type=doc&id=URLB。URLB中则返回一个虚假新闻的json,效果如图:

捕获.PNG


地址:http://31.220.48.93:28214/if/fakenewsjm.html
远程命令执行
你可能已经注意到 返回这个(http://api.iclient.ifeng.com/ipadtestdoc?aid=99008381)包含新闻信息的json中,出现了html标签!这也就以为着这写信息非常有可能是展示在webview中的。首先的想法就是在json的title字段添加js语句,发现不能执行,百思不得其姐!后来突然想到既然能加载图片,那图片的事件呢?果断在之前的字段加上

<img src='1' onerror=\"alert('Well done!');\">

发现弹窗果然如期出现了!这样就好办了,配合之前的命令执行漏洞,直接用onerror执行window.location来跳转到执行页面就行了。
测试:
用安卓浏览器打开http://31.220.48.93:28214/if/ls_0.html就会跳转到凤凰新闻并执行命令
远程执行列sd卡目录并显示:
地址:http://31.220.48.93:28214/if/ls_0.html
然后跳转到app加载http://31.220.48.93:28214/if/new.html的json
这个json中包含下一步跳转的js,最后成功打开http://31.220.48.93:28214/if/ls_1.html并执行命令显示

捕获.PNG


漏洞证明:

如上

修复方案:

上调编译版本
接口过滤

版权声明:转载请注明来源 小手冰凉@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:10

确认时间:2015-06-11 20:29

厂商回复:

非常感谢您对凤凰网信息安全的帮助,我们正在跟进解决。

最新状态:

暂无


漏洞评价:

评论

  1. 2015-06-08 11:30 | wefgod ( 普通白帽子 | Rank:1807 漏洞数:170 | 力不从心)

    为何都那么给力

  2. 2015-06-08 12:06 | Drizzle.Risk ( 普通白帽子 | Rank:255 漏洞数:19 | You have an error in your SQL syntax; ch...)

    这个不错啊..

  3. 2015-06-08 12:12 | xsser 认证白帽子 ( 普通白帽子 | Rank:254 漏洞数:17 | 当我又回首一切,这个世界会好吗?)

    @Drizzle.Risk :)

  4. 2015-06-08 12:47 | 牛 小 帅 ( 普通白帽子 | Rank:363 漏洞数:75 | [code]心若没有栖息的地方,走到哪里都是在...)

    @xsser 大神 我怎么还有4rank没发 你帮我看看

  5. 2015-06-09 16:03 | 上官元恒 ( 路人 | Rank:3 漏洞数:3 | 屌丝程序员一枚,上能修电脑,下能装系统。)

    @xsser 求审核 http://www.wooyun.org/bugs/wooyun-2010-0119063/trace/93a8b53c93b061ede582385a7ec7af0a

  6. 2015-09-09 21:01 | 金枪银矛小霸王 ( 普通白帽子 | Rank:103 漏洞数:25 | 不会挖洞洞的猿猿不是好学生)

    安卓的分给得好低啊