安全技术研究-Broken Authentication(NodeJS)

漏洞代码示例

Node.js没有提供一种本地方式来实现健壮的web应用程序身份验证系统。

下面的Express.js路由是对任何访问都不拦截的一个例子;它不强制任何身份验证:

app.post('/admin', function (req, res) {
    // perform some sensitive action
});

/admin应该由身份验证机制保护,以免被恶意行为者滥用。

如何防护

根据所选择的web框架应用推荐的身份验证和授权机制。

Express.js

Express.js允许作为中间件实现身份验证。在这种情况下,可以实现一个身份验证中间件,并(重新)将其用于一个或多个路由。例如,下面的中间件检查会话变量的值:

function authenticate(req, res, next) {
    if (!req.session.isLoggedIn) {
        res.redirect('/index.html');
    } else {
        next();
    }
}

可以在路由中插入验证检查,如下所示:

app.post('/admin', authenticate, function (req, res) { /*...*/ });
展开阅读全文

页面更新:2024-04-29

标签:健壮   示例   路由   变量   应用程序   漏洞   中间件   框架   恶意   机制

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top