Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
NoSQLMap — 自动化NoSQL数据库枚举和Web应用程序利用工具。 | Kitploit
工具/GitHubGitHub/codingo/nosqlmap
漏洞扫描器漏洞利用Web应用程序漏洞利用信息收集渗透测试数据库安全
GitHubcodingo/nosqlmap

NoSQLMap

自动化NoSQL数据库枚举和Web应用程序利用工具。

查看仓库
3.3k6266个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

NoSQLMap

Python 2.6|2.7 License Twitter

NoSQLMap 是一款开源 Python 工具,旨在审计 NoSQL 数据库和使用 NoSQL 的 Web 应用程序,自动化注入攻击并利用默认配置弱点,从而泄露或克隆数据库中的数据。

该工具最初由 @tcsstool 编写,目前由 @codingo_ 维护。NoSQLMap 命名源自 Bernardo Damele 和 Miroslav Stampar 的流行 SQL 注入工具 sqlmap,其概念基于并扩展了 Ming Chow 在 Defcon 21 上的精彩演讲 《滥用 NoSQL 数据库》。

NoSQLMap MongoDB 管理攻击演示

NoSQLMap MongoDB 管理攻击演示

截图

NoSQLMap

摘要

什么是 NoSQL?

NoSQL(最初指“非 SQL”、“非关系型”或“不仅仅是 SQL”)数据库提供了一种数据存储和检索机制,其建模方式不同于关系型数据库中使用的表格关系。这类数据库自20世纪60年代末就已存在,但直到21世纪初,由于 Facebook、Google 和 Amazon.com 等 Web 2.0 公司的需求推动,才迎来流行并获得了“NoSQL”这一名称。NoSQL 数据库越来越多地用于大数据和实时 Web 应用程序。NoSQL 系统有时也被称为“不仅仅是 SQL”,以强调它们可能支持类似 SQL 的查询语言。

DBMS 支持

目前该工具的漏洞利用主要针对 MongoDB 和 CouchDB,但计划在未来版本中增加对其他 NoSQL 平台(如 Redis 和 Cassandra)的支持。

依赖

在基于 Debian 或 Red Hat 的系统上,可以以 root 身份运行 setup.sh 脚本以自动安装 NoSQLMap 的依赖项。

根据使用的功能而有所不同:

  • Metasploit 框架,
  • 带有 PyMongo 的 Python,
  • httplib2,
  • 以及可用的 urllib。
  • 本地默认的 MongoDB 实例,用于克隆数据库。安装说明请参见此处。

还有一些其他必需的库,正常的 Python 安装应该已经具备。具体情况可能有所不同,请参考脚本。

安装

root@kitploit:~
python setup.py install

或者,你也可以通过输入以下命令构建 Docker 镜像:

root@kitploit:~
docker build -t nosqlmap .

或者使用 Docker-compose 运行 NoSQLMap:

root@kitploit:~
docker-compose build
docker-compose run nosqlmap

使用说明

启动方式:

root@kitploit:~
python NoSQLMap

NoSQLMap 使用基于菜单的系统来构建攻击。启动 NoSQLMap 后,你将看到主菜单:

root@kitploit:~
1-设置选项(首先执行此操作)
2-NoSQL 数据库访问攻击
3-NoSQL Web 应用程序攻击
4-扫描匿名 MongoDB 访问
x-退出

选项说明:

root@kitploit:~
1. 设置目标主机/IP - 要攻击的目标 Web 服务器(例如 www.google.com)或 MongoDB 服务器。
2. 设置 Web 应用程序端口 - 如果目标是 Web 应用程序,则设置 TCP 端口。
3. 设置 URI 路径 - URI 中包含页面名称和任何参数的部分,但不包含主机名(例如 /app/acct.php?acctid=102)。
4. 设置 HTTP 请求方法(GET/POST) - 将请求方法设置为 GET 或 POST;目前仅实现了 GET,但正在努力实现从 Burp 导出的 POST 请求。
5. 设置本地 Mongo/Shell IP - 如果直接攻击 MongoDB 实例,则将此选项设置为目标 Mongo 安装的 IP,以克隆受害数据库或打开 Meterpreter shell。
6. 设置 Shell 监听端口 - 如果打开 Meterpreter shell,则指定端口。
7. 加载选项文件 - 加载先前保存的选项设置(1-6)。
8. 从保存的 Burp 请求加载选项 - 解析从 Burp Suite 保存的请求,并填充 Web 应用程序选项。
9. 保存选项文件 - 保存设置 1-6 以供将来使用。
x. 返回主菜单 - 设置选项后使用此选项开始攻击。

设置好选项后,返回主菜单,根据是攻击 NoSQL 管理端口还是 Web 应用程序,选择“数据库访问攻击”或“Web 应用程序攻击”。工具的其余部分是基于“向导”的,相当直观,但如果有任何问题或建议,请发送电子邮件至 [email protected] 或在 Twitter 上找我 @codingo_。

易受攻击的应用程序

此仓库还包含一个故意设计为易受攻击的 Web 应用程序,用于测试 NoSQLMap。要运行此应用程序,你需要安装 Docker。然后,在 /vuln_apps 目录下运行以下命令:

root@kitploit:~
docker-compose build && docker-compose up

完成后,你应该可以通过访问 https://127.0.0.1:8080/index.html 来访问该易受攻击的应用程序。

脚本化

CLI 也可以脚本化。以下是一个使用 NoSQLMap 检测 vuln_apps 中漏洞的示例脚本:

root@kitploit:~
$ echo  "1. 账户查询 (acct.php)"
$ docker-compose run --remove-orphans nosqlmap \
    --attack 2 \
    --victim host.docker.internal \
    --webPort 8080 \
    --uri "/acct.php?acctid=test" \
    --httpMethod GET \
    --params 1 \
    --injectSize 4 \
    --injectFormat 2 \
    --doTimeAttack n

$ echo "2. 用户数据查询 (userdata.php) - JavaScript 注入"
$ docker-compose run --remove-orphans nosqlmap \
    --attack 2 \
    --victim host.docker.internal \
    --webPort 8080 \
    --uri "/userdata.php?usersearch=test" \
    --httpMethod GET \
    --params 1 \
    --injectSize 4 \
    --injectFormat 2 \
    --doTimeAttack n

$ echo "3. 订单数据查询 (orderdata.php) - JavaScript 注入"
$ docker-compose run --remove-orphans nosqlmap \
    --attack 2 \
    --victim host.docker.internal \
    --webPort 8080 \
    --uri "/orderdata.php?ordersearch=test" \
    --httpMethod GET \
    --params 1 \
    --injectSize 4 \
    --injectFormat 2 \
    --doTimeAttack n
下载工具