问题标签 [nosql-injection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
6054 浏览

node.js - 使用 Mongoose 缓解 MongoDB 注入攻击

我正在为 NodeJS 使用Mongoose ODM 包装器,我担心注入攻击。假设我有以下架构:

如果我要执行如下所示的登录请求:

我将对使用以下 JSON 有效负载的注入攻击持开放态度,该有效负载将始终找到用户:

我不关心密码,因为如果找到阻止任何实际登录的用户,它会被散列,但我想确保我的输入被清理,这样攻击者甚至不会做到这一点。

我知道在类似的StackOverflow 帖子中引用的mongo-sanitize NPM 包似乎删除了所有以“$”开头的 JSON 键。无论如何我都打算使用它,但我永远不会允许用户提交原始的、未解析的 JSON。在这种情况下,假设我进行了正确的检查,只在 userName 上调用 toString() 是一种好习惯吗?null

这将消除查询的执行,但感觉不是很安全。我认为以下是一种更好的方法,因为它试图转换userName为 a String

我在Model.findOne() 文档中找不到任何与此相关的内容,这让我相信我忽略了一些东西。

任何见解将不胜感激。

其他参考:

  1. https://blog.websecurify.com/2014/08/hacking-nodejs-and-mongodb.html
  2. https://ckarande.gitbooks.io/owasp-nodegoat-tutorial/content/tutorial/a1_-_sql_and_nosql_injection.html
0 投票
0 回答
38 浏览

ionic-framework - Parse Open Server 允许 NoSQL 注入

或者它是否有针对这种情况的保护措施?

我正在使用 parse 并看到标记了潜在的 NoSQL 注入,并希望确保这无法完成并且有保护措施。我也在使用 MongoDB。谢谢!

0 投票
1 回答
256 浏览

java - java ee 使用 Morphia 时如何防止没有 sql 注入?

我在 Java EE 中使用 MongoDB 和 Morphia Object Document Mapper。

No SQL注入有没有可能?如果是,请给我建议或示例以进行预防。

0 投票
1 回答
518 浏览

security - JPQL 注入和 SQL 注入之间有什么区别

我已阅读有关 JPQL 注入和 SQL 注入的信息。在许多站点中,从测试人员的角度来看,ORM 注入几乎与 SQL 注入相同。所以基本上我想知道的是 JPQL 和 SQL 注入之间的主要区别。

0 投票
1 回答
37 浏览

database - Cassandra 表中的最大分区数以及它如何依赖于磁盘空间?

我正在使用 Cassandra DB,我想知道可以创建的最大分区数是多少?

更多的分区数会影响 Cassandra 的性能吗?

分区数取决于磁盘空间?

0 投票
1 回答
533 浏览

couchdb - 如何避免 CouchDB 和 noSQL 数据库出现类似 SQL 的注入问题?

我非常简单的待办事项应用程序将在客户端使用 PouchDb,在服务器端使用 CouchDB。每个条目将首先本地保存在 PouchDB 中,然后将与服务器端 CouchDB 进行复制。该应用程序的每个用户都将在他们的设备上拥有自己的客户端数据库,以及自己的云数据库,所有这些都具有自己的身份验证。

这篇文章(使用 CouchDB/PouchDB 时应用程序的架构)非常有帮助,但我仍然在努力解决我需要采取哪些步骤来确保至少尽可能多地确保来自用户的输入无害。

我可能比实际情况做得更多,因为任何不良行为者都可能只会破坏他们自己的数据(那时谁在乎?),但我仍然想知道如何清理用户输入的数据一个 noSQL 数据库。同样,我在上面引用的帖子有一些很好的起始信息,但我仍然找不到任何提供有关注意事项、转义字符等提示的信息。

根据我对 SQL 的有限经验,您必须注意有人试图插入 HTML 或一些 javascript,但我不知道哪些数据序列可能对 CouchDB 有害。我读过的一篇文章建议人们应该:

  • 通过将脚本与用户输入连接来避免创建“临时”JS 命令
  • 使用正则表达式验证服务器端 JS 命令中使用的用户输入(好主意……但是如何?)
  • 避免评估。使用 json.parse
0 投票
3 回答
519 浏览

ruby-on-rails - 带有 Mongoid 的 Ruby on Rails 是否可以进行 nosql 注入?

我正在尝试调查是否可以在 Ruby on Rails 上使用 mongo 和 mongoid gem 进行 nosql 注入。

我使用包含的Mongo::Client集合和模型完成了Mongodb 的请求Mongoid::Document

我试图传递一些命令字符,例如' " \ ; { },但是被清理了。传球GET search?title[$ne]=foo的特点是{"title"=>"{\"$ne\"=>\"foo\"}"},所以这里似乎没有任何问题。

如果我使用此技术堆栈的普通方法,是否可以进行任何 nosql 注入?

0 投票
1 回答
3126 浏览

node.js - MongoDB NoSQL 注入 - Node.js

我正在使用 Express > 4 的 MongoDB 4.2。

我正在尝试使用 node.js 执行 NoSQL 注入。这是带有用户名和密码的表单的.ejs代码:

我有一个本地 MongoDB 数据库,用户可以通过数据库访问。这是.js代码:

这是.js login_db-route.js:

我编写的代码容易受到 nosql 注入的影响,但是当我尝试将 MongoDB Payload 插入表单时,例如:

我无法登录成功。问题出在哪里?有没有办法不考虑

感谢任何帮助过我的人。

0 投票
1 回答
943 浏览

mongodb - 如何避免 Mongo DB NoSQL 盲(睡眠)注入

在扫描我的应用程序以查找漏洞时,我遇到了一个高风险错误,即

盲目的 MongoDB NoSQL 注入

我已经检查了通过执行扫描的工具向数据库发送的确切请求,并在请求 GET 调用时发现它已将以下行添加到 GET 请求。

{"$where":"sleep(181000);return 1;"}

Scan 收到“ Time Out ”响应,表示注入的“ Sleep ”命令成功。

我需要帮助来修复此漏洞。有谁可以帮我离开这里吗?我只是想了解在连接到数据库之前需要在代码中添加什么来执行此检查?

谢谢,安舒

0 投票
1 回答
480 浏览

mongodb-.net-driver - 如何使用 C# mongodb 驱动程序防止 SQL 注入?

我正在使用 C# Mongodb 驱动程序在 Mongodb 中插入/更新数据。我已经通过“Qualys”扫描了我的 web api,它被插入到我的一个名为“createdOn”的字段中,我在下面提供了示例数据。

1. 中太平洋标准时间 + (SELECT 0 FROM (SELECT
2. SLEEP(29))qsqli_1111) 中太平洋标准时间',0,0);WAITFOR
3. DELAY'00:00:29'- |ping -c2 - i91 本地主机|

请你帮我解决这个问题。