漏洞详情
披露状态:
2014-01-20: 细节已通知厂商并且等待厂商处理中
2014-01-20: 厂商已经确认,细节仅向厂商公开
2014-01-30: 细节向核心白帽子及相关领域专家公开
2014-02-09: 细节向普通白帽子公开
2014-02-19: 细节向实习白帽子公开
2014-03-06: 细节向公众公开
简要描述:
部分DiscuzX系列站点可在前台直接获取UC_Key,得到这玩意可以巧妙的修改有此洞的站点任意用户密码,得到UC_Key还可以GETSHELL!
详细说明:
泄露原因:由于论坛管理员后台进行某项修改编辑操作时,未注意到编辑操作会触发自动创建各种.bak文件用来避免编辑错误时引发的数据丢失风险,这反而会造成更严重的安全问题!
网站:http://bbs.wwtx.cn/
泄露文件:http://bbs.wwtx.cn/uc_server/data/config.inc.php.bak
可直接在前台下载config.inc.php.bak文件。
文件内容:
<?php
define('UC_DBHOST', 'localhost');
define('UC_DBUSER', 'root');
define('UC_DBPW', 'root');
define('UC_DBNAME', 'yelv41');
define('UC_DBCHARSET', 'gbk');
define('UC_DBTABLEPRE', 'cdb_uc_');
define('UC_COOKIEPATH', '/');
define('UC_COOKIEDOMAIN', '');
define('UC_DBCONNECT', 0);
define('UC_CHARSET', 'gbk');
define('UC_FOUNDERPW', '**********c735862b061f0a0f94c626');
define('UC_FOUNDERSALT', '189024');
define('UC_KEY', 'dZ45**********fB4ee7164LbjbY2R423gcx8U7Y1UfG0s1i1S6k329d6z5ydgbS');
define('UC_SITEID', 'dX**********cXfy4Aeh1o4nb6bx2C423VcG8o7S1nfh0l1N1p6j3p9E6o5jdObY');
define('UC_MYKEY', 'dP4**********jfR49em1H4cb0bz2p4t3AcQ817f1VfQ0C1M1u6w3d9o6x5xdnbK');
define('UC_DEBUG', false);
define('UC_PPP', 20);
漏洞证明:
得到UC_Key 之后,本地安装一个DiscuzX2.0程序,然后进后台 → 站长 → UCenter 设置 替换UC Key等信息,然后工具 → 更新缓存!
1.png
然后通过Google 搜出wwtx.cn的管理员,
搜索代码
site:bbs.wwtx.cn inurl:profile 管理员
2.jpg
用户名:文玩-清轻净静
来到本地dz后台 → 添加用户
记得添加的用户名要和对方管理员用户名一致,其他信息可随便,这时候会提示是否在本地激活,点击激活即可!
3.jpg
然后来到本地dz后台 → 用户管理,修改刚才添加的用户密码
此时修改的密码可以自动修改wwtx.cn这个管理员的密码,最后可成功登录!
4.jpg
成功修改的密码并且登录了!
此方法来自猪猪大侠,只是他老人家没时间详细说明发到DZ漏洞专版而已,小弟给自己实测后详细公开过程,希望能够得到修复!
另外最近WooYun前几天有发过利用UC_KEY进行getshell,这里就不证明了。
|