一尘不染

Node.js Express框架安全性问题

node.js

我正在寻找应添加到Node / Express应用程序中的模块,以解决下面列出的常规安全问题:

  • 注入漏洞(JavaScript,SQL,Mongo,HTML)
  • 会话固定和劫持
  • 跨站点漏洞(脚本,伪造请求)
  • 批量分配
  • 在此插入相关问题

谢谢你的帮助!

----------

我发现了一些资源:

精彩演讲(11/2012):http
://lanyrd.com/2012/asfws/sxzbm/ (请参阅幻灯片)

ServerFault问题(2011-2012):https :
//serverfault.com/questions/285123/is-node-js-mature-for-enterprise-
security

关于主题(9/2012)的博客文章:http ://codefol.io/posts/29-Why-Rails-and-not-Sinatra-or-
Node-js-

利用测试仪:https//code.google.com/p/skipfish/

护照模块:https :
//github.com/jaredhanson/passport

EveryAuth模块:https//github.com/bnoguchi/everyauth


阅读 620

收藏
2020-07-07

共1个答案

一尘不染

我写了一篇博客文章,为编写Secure Express.js
Apps
提供了一个很好的起点。正如zeMirco提到的,它涵盖了除csrf和头盔之外的其他内容。

另一件事是您无法将express.js与rails进行比较。他们是苹果和橘子。例如,没有与Express捆绑在一起的ORM,则由您决定是否实现或使用第三方模块。

我会尽力列出您的每一个关注点。

-Injection Vulnerabilities (JavaScript, SQL, Mongo, HTML)

再说一遍,这些东西并不是快递中不可缺少的。最接近的事情是XSS担心模板的注入。默认情况下,快速输出通常使用的Jade或EJS模板编码<>“’和&,但是请记住,您还需要担心其他上下文,例如用户对JavaScript或CSS的输入。

-Session fixation and hijacking

再次参见上面的博客文章,但是Express是基于并使用大多数连接中间件的,其中之一是会话中间件。这里最大的事情是正确设置您的cookie标志。

-Cross-Site Vulnerabilities (Scripting, Request Forgery)

往上看。它还带有express.csrf()中间件。提到的博客文章显示了如何实现它。

-Mass Assignment

express.js并不存在问题,因为它没有适用于这种类型的漏洞的概念,但是您编写的自定义逻辑实际上可能容易受到此问题的影响,因此再次成为验证您的代码是否易受攻击或存在问题的问题如果您使用的第三方模块是…

2020-07-07