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

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

缺陷编号:wooyun-2013-028908

漏洞标题:大数据HACK系列#3 游荡VeryCD整个业务线

相关厂商:VeryCD

漏洞作者: 猪猪侠

提交时间:2013-07-14 23:11

修复时间:2013-08-28 23:12

公开时间:2013-08-28 23:12

漏洞类型:设计缺陷/逻辑错误

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

本次测试,将通过VeryCD的自身业务逻辑,结合互联网公开的大数据,对VeryCD进行的一次白帽测试。
# 仅仅是测试行为,为了向大众解释大数据HACK的严重性,未导VeryCD的任何一条数据。

详细说明:

#1 介绍概述
先谈一下本文的立足点,在针对Wordpress进行研究时,发现这个国外的流行应用,在核心代码安全系数很高,而在逻辑设计上,却有明显的不足。
~! 遍历用户名:
http://www.verycd.com/blog/?author=1
通过如上链接,你只需要不停的更换author的id,就能遍历出整个Wordpress数据库内用户的username。

verycd_username.jpg


本次测试过程中,获取到VeryCD官方博客的用户名如下:
bill
zkyo
zouxiaoman
daiyi
VeryCD
admin
!~ 坑爹的登录设计
http://www.verycd.com/blog/wp-login.php
Wordpress毫无节操的,无验证码、无错误密码登录次数限制,更操蛋的是,你输入一个不存在的用户名,它还会告诉你是否存在,也太高傲了一点。

verycd_notfund.jpg


#2 开始测试
既然知道了用户名,而且登录接口毫无阻挡,那就开启http fuzz,扫荡即可。
开启 Acunetix\Web Vulnerability Scanner 8,点开Authentication Tester,设置好对应的用户名文件,从大数据采集到的密码文件,再混杂入弱口令字典。

verycd_http_fuzz.jpg


#3 结果呢?
恩,最后成功fuzz到daiyi同学的密码,进入了Wordpress后台!

verycd_blog.jpg


#4 证明我来过
!~ 主域下
http://www.verycd.com/blog/about/

wooyun_has_been.jpg


#5 更加残忍的结果
!~ daiyi同学的邮箱密码和其它地方有点一致。

verycd_daiyi.jpg


更更残忍的是,daiyi原来就是VeryCD的WebMaster同学。

verycd_webmaster.jpg


漏洞证明:

# 漏洞证明,没搞到SHELL,你说个毛线?

<?php
/**
* WordPress 基础配置文件。
*
* 本文件包含以下配置选项:MySQL 设置、数据库表名前缀、密钥、
* WordPress 语言设定以及 ABSPATH。如需更多信息,请访问
* {@link http://codex.wordpress.org/zh-cn:%E7%BC%96%E8%BE%91_wp-config.php
* 编辑 wp-config.php} Codex 页面。MySQL 设置具体信息请咨询您的空间提供商。
*
* 这个文件用在于安装程序自动生成 wp-config.php 配置文件,
* 您可以手动复制这个文件,并重命名为“wp-config.php”,然后输入相关信息。
*
* @package WordPress
*/
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress 数据库的名称 */
define('DB_NAME', 'teamblog');
/** MySQL 数据库用户名 */
define('DB_USER', 'teamblog');
/** MySQL 数据库密码 */
define('DB_PASSWORD', 'Ta6TDvN********L7');
/** MySQL 主机 */
define('DB_HOST', '192.168.*.**6');


# 你懂得,上面得到的可是主站的SHELL。

修复方案:

# 后台管理路口加IP限制。
# 登录接口加入限制。

版权声明:转载请注明来源 猪猪侠@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:10

确认时间:2013-07-14 23:51

厂商回复:

谢谢提醒!

最新状态:

2013-07-14:WP数据库的权限是和主站隔离的,不过确实应该加 ip 限制更安全。