提问人:freitzzz 提问时间:2/24/2023 更新时间:2/24/2023 访问量:78
MongoDB 数据 API 注入攻击
MongoDB Data API Injection Attacks
问:
我目前正在使用数据 API 连接到 MongoDB,以插入客户端发送的用户生成内容。但是,我突然想到,我没有想到在通过 API 将数据插入数据库的过程中可能发生的注入攻击。
我在官方文档上找不到与此相关的任何内容,所以我想知道:数据 API 是否执行某种清理/验证来防止注入攻击?
在官方文档和谷歌中搜索:没有明确的答案
答:
0赞
Bill Karwin
2/24/2023
#1
https://owasp.org/www-project-web-security-testing-guide/latest/4-Web_Application_Security_Testing/07-Input_Validation_Testing/05.6-Testing_for_NoSQL_Injection 提供了可以包含注入的有效负载的 MongoDB 查询表达式示例。
基本上,如果攻击者可以使用某些查询选择器(例如数据 API 查询中的 或),他们可以传递任意 Javascript 函数,这些函数可能会造成很多恶作剧。即使你限制他们的用户级访问控制,他们至少可以运行昂贵的Javascript函数,这些函数旨在使你的MongoDB服务器负担过重,从而导致拒绝服务。$expr
$where
SQL 和 NoSQL 注入都是称为代码注入的更广泛类别的漏洞的案例。任何接受字符串输入并将该输入用作代码的系统,以便在运行时进行解析和执行,都有机会进行代码注入。这也适用于 shell 或 PHP 或其他语言中的命令。甚至一些编译语言(如 Java)也具有在运行时解析和执行代码的功能,例如 ScriptEngine。eval
评论