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

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

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

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

工具目录

分类

查看所有分类
Loading categories
NodeGoat — OWASP NodeGoat 项目提供了一个环境,用于学习 OWASP Top 10 安全风险如何适用于使用 Node.js 开发的 Web 应用程序,以及如何有效应对这些风险。 | Kitploit
工具/GitHubGitHub/owasp/nodegoat
漏洞分析Web安全渗透测试学习与教育学习路径与课程实验室与实践
GitHubowasp/nodegoat

NodeGoat

OWASP NodeGoat 项目提供了一个环境,用于学习 OWASP Top 10 安全风险如何适用于使用 Node.js 开发的 Web 应用程序,以及如何有效应对这些风险。

查看仓库
2.1k2.8k3年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
网站

NodeGoat

由于轻量、快速且可扩展,Node.js 正成为开发 Web 应用程序的广泛采用平台。本项目提供了一个环境,用于学习 OWASP Top 10 安全风险如何适用于使用 Node.js 开发的 Web 应用程序,以及如何有效解决这些风险。

开始使用

适用于 Node.js Web 应用程序的 OWASP Top 10:

了解它!

此应用程序附带了一个教程页面,解释了 OWASP Top 10 漏洞以及如何修复它们。

一旦应用程序运行,您可以在 http://localhost:4000/tutorial(或您配置的端口)访问教程页面。

实践它!

为忍者打造的易受攻击 Node.js 应用 用于利用、破坏和修复。您可能想要建立您自己的应用副本来修复和测试漏洞。提示:在源代码中查找注释。

默认用户账户

数据库预先填充了以下用户账户,它们是种子数据的一部分:

  • 管理员账户 - 用户:admin 密码:Admin_123
  • 用户账户(用户:user1 密码:User1_123)、(用户:user2 密码:User2_123)
  • 新用户也可以使用注册页面添加。

如何设置您自己的 NodeGoat 副本

选项 1 - 在您的机器上运行 NodeGoat

  1. 安装 Node.js - NodeGoat 需要 Node v8 或更高版本

  2. 克隆 GitHub 仓库:

    root@kitploit:~
    git clone https://github.com/OWASP/NodeGoat.git
    
  3. 进入目录:

    root@kitploit:~
    cd NodeGoat
    
  4. 安装 node 包:

    root@kitploit:~
    npm install
    
  5. 设置 MongoDB。您可以在本地安装 MongoDB,也可以创建远程实例:

    • 使用本地 MongoDB:

      1. 安装 MongoDB Community Server
      2. 启动 mongod
    • 使用远程 MongoDB 实例:

      1. 部署 MongoDB Atlas 免费层集群(M0 Sandbox)
      2. 启用网络访问,允许从您当前的 IP 地址访问集群
      3. 添加数据库用户到集群
      4. 将 MONGODB_URI 环境变量设置为您的集群的连接字符串,该字符串可在集群的 连接对话框中查看。选择“连接你的应用程序”, 将驱动程序设置为“Node.js”,版本设置为“2.2.12 或更高版本”。这将给出如下形式的连接字符串:
        root@kitploit:~
        mongodb://<username>:<password>@<cluster>/<dbname>?ssl=true&replicaSet=<rsname>&authSource=admin&retryWrites=true&w=majority
        
        <username> 和 字段需要填入之前添加的数据库用户的详细信息。 字段设置 nodegoat 将在集群中使用的数据库名称 (例如 "nodegoat")。其他字段将已为您集群填好正确的详细信息。

自定义默认应用程序配置

默认情况下,应用程序将托管在 4000 端口,并连接到 localhost:27017 的 MongoDB 实例。要更改此设置,请设置环境变量 PORT 和 MONGODB_URI。

其他设置可以通过更新 配置文件 来更改。

选项 2 - 在 Docker 上运行 NodeGoat

该仓库包含设置应用程序和数据库实例并将它们连接在一起所需的 Dockerfile 和 docker-compose.yml。

  1. 安装 docker 和 docker compose

  2. 克隆 GitHub 仓库:

    root@kitploit:~
    git clone https://github.com/OWASP/NodeGoat.git
    
  3. 进入目录:

    root@kitploit:~
    cd NodeGoat
    
  4. 构建镜像:

    root@kitploit:~
    docker-compose build
    
  5. 运行应用程序,这将在 http://localhost:4000/ 启动 NodeGoat 应用程序:

    root@kitploit:~
    docker-compose up
    

选项 3 - 部署到 Heroku

此选项使用免费的(每月 $0)Heroku node 服务器。

虽然不是必须的,但建议您 fork 此仓库并部署 fork 后的仓库。 这将允许您在自己的 fork 版本中修复漏洞,然后在 Heroku 上部署和测试。

  1. 设置一个可公开访问的 MongoDB 实例:

    1. 部署 MongoDB Atlas 免费层集群(M0 Sandbox)
    2. 启用网络访问,允许从任何地方(CIDR 范围 0.0.0.0/0)访问集群
    3. 添加数据库用户到集群
  2. 通过点击下面的按钮将 NodeGoat 部署到 Heroku:

    Deploy

    在“新建应用”对话框中,将 MONGODB_URI 配置变量设置为您的 MongoDB Atlas 集群的连接字符串。 这可以在集群的 连接对话框 中查看。 选择“连接你的应用程序”,将驱动程序设置为“Node.js”,版本设置为“2.2.12 或更高版本”。 这将给出如下形式的连接字符串:

    root@kitploit:~
    mongodb://<username>:<password>@<cluster>/<dbname>?ssl=true&replicaSet=<rsname>&authSource=admin&retryWrites=true&w=majority
    

    <username> 和 <password> 字段需要填入之前添加的数据库用户的详细信息。<dbname> 字段设置 nodegoat 将在集群中使用的数据库名称 (例如 "nodegoat")。其他字段将已为您集群填好正确的详细信息。

报告错误、反馈、评论

  • 打开一个新的 issue,或通过加入 Slack 聊天室联系团队,或 Join the chat at https://gitter.im/OWASP/NodeGoat

贡献

请遵循 贡献指南

行为准则(CoC)

本项目受 行为准则 约束。

贡献者

以下是 NodeGoat 项目出色的 贡献者。

支持

  • 感谢 JetBrains 为构建此项目提供了出色的 WebStorm IDE 许可证。

许可证

代码基于 Apache License v2.0. 许可。

下载工具
<password>
<dbname>
  • 使用应用程序所需的种子数据填充 MongoDB:

    root@kitploit:~
    npm run db:seed
    

    默认情况下,这将使用 "development" 配置,但如有需要,可以将所需的配置作为参数传递。

  • 启动服务器。您可以使用 node 或 nodemon 运行服务器:

    • 使用 node 启动服务器。这将在 http://localhost:4000/ 启动 NodeGoat 应用程序:
      root@kitploit:~
      npm start
      
    • 使用 nodemon 启动服务器,当您进行任何更改时,它会自动重启应用程序。这将在 http://localhost:5000/ 启动 NodeGoat 应用程序:
      root@kitploit:~
      npm run dev