首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NoSQL注入DynanmoDB

NoSQL注入DynanmoDB
EN

Stack Overflow用户
提问于 2019-10-12 11:39:21
回答 2查看 58关注 0票数 0

有人知道在与无SQL数据库交互时是否存在任何已知的与“Dynogels”库无关的SQL漏洞。

不使用任何高级查询,只对现有方法使用bog标准。查询()、其中()、等于()等。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-10-12 16:47:33

Dynogels使用ExpressionAttributeValues结构传递所提供的过滤器/查询值,该结构与查询结构本身(FilterExpression)是分开的。这类似于使用参数化SQL查询,后者以独立的结构传递参数,而不是查询本身。

换句话说,只要您只使用不受信任的输入作为筛选值,更改查询结构的注入就不可能:

代码语言:javascript
复制
// Assume "req.body" is untrusted input
Table.query(req.body.key)
    .filter('somecolumn').equals(req.body.somecolumn)
    .exec(callback);

以上是安全的,只要它不是一个应用程序级别的漏洞,允许用户查询任何密钥。在上面使用不可信输入的所有上下文中,它不可能影响查询的结构。

披露:我是动态凝胶的维护者之一。如果您发现漏洞,请向我们私下透露,以便我们可以解决它,然后公布细节公开。

票数 0
EN

Stack Overflow用户

发布于 2019-10-12 16:42:36

也许不是一个真正已知的问题,但处理一般的输入数据,并将其保存到任何数据库中,您总是需要清理您的数据以防止注入。

当您在DynanmoDB中处理大量JSON时,在反序列化JSON对象的用户输入并直接将这些对象插入或更新到NoSQL数据库时要特别小心。例如,确保用户不能向JSON对象中添加额外的字段。

这完全取决于您如何验证用户输入。

我认为可以肯定地说,NoSQL数据库更多地从函数和JSON对象的角度访问数据库。与传统的string based access (TSQL)数据库相比,您不必担心SQL注入。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58353747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档