Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
NodeGoat — OWASP NodeGoat プロジェクトは、Node.js で開発された Web アプリケーションに OWASP Top 10 のセキュリティリスクがどのように適用されるか、またそれらに効果的に対処する方法を学ぶための環境を提供します。 | Kitploit
ツール/GitHubGitHub/owasp/nodegoat
脆弱性分析ウェブセキュリティペネトレーションテスト学習と教育学習パスとコースラボと実践
GitHubowasp/nodegoat

NodeGoat

OWASP NodeGoat プロジェクトは、Node.js で開発された Web アプリケーションに OWASP Top 10 のセキュリティリスクがどのように適用されるか、またそれらに効果的に対処する方法を学ぶための環境を提供します。

リポジトリを見る
2.1k2.8k2年前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 アプリ を悪用し、破壊し、修正しましょう。アプリの独自コピーをセットアップして、脆弱性を修正およびテストするのもよいでしょう。ヒント: ソースコード内のコメントを探してみてください。

デフォルトのユーザーアカウント

データベースには、シードデータの一部として作成された以下のユーザーアカウントがあらかじめ登録されています -

  • 管理者アカウント - u:admin p:Admin_123
  • ユーザーアカウント (u:user1 p:User1_123)、(u:user2 p: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 環境変数に設定します。接続文字列はクラスターの 接続ダイアログ で確認できます。"Connect your application" を選択し、 ドライバーを "Node.js"、バージョンを "2.2.12 or later" に設定します。すると、次の形式の接続文字列が表示されます:
        root@kitploit:~
        mongodb://<username>:<password>@<cluster>/<dbname>?ssl=true&replicaSet=<rsname>&authSource=admin&retryWrites=true&w=majority
        
        フィールドと フィールドには、先ほど追加したデータベースユーザーの詳細を入力する必要があります。 フィールドは、クラスター内で nodegoat が使用するデータベースの名前を設定します (例: "nodegoat")。その他のフィールドには、クラスターの正しい詳細がすでに入力されています。

デフォルトのアプリケーション設定のカスタマイズ

デフォルトでは、アプリケーションはポート 4000 でホストされ、localhost:27017 の MongoDB インスタンスに接続します。これを変更するには、環境変数 PORT と MONGODB_URI を設定します。

その他の設定は、設定ファイル を更新することで変更できます。

オプション 2 - Docker で NodeGoat を実行する

このリポジトリには、アプリと DB インスタンスをセットアップして相互に接続するために必要な 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/month) の Heroku Node サーバーを使用します。

必須ではありませんが、このリポジトリをフォークして、フォークしたリポジトリをデプロイすることをお勧めします。これにより、フォークした独自バージョンで脆弱性を修正し、それを Heroku にデプロイしてテストできます。

  1. 公開アクセス可能な MongoDB インスタンスをセットアップします:

    1. MongoDB Atlas フリーティアクラスターをデプロイ します (M0 Sandbox)
    2. 任意の場所からのクラスターへのネットワークアクセスを有効化 します (CIDR 範囲 0.0.0.0/0)
    3. クラスターにデータベースユーザーを追加 します
  2. 下のボタンをクリックして NodeGoat を Heroku にデプロイします:

    Deploy

    Create New App ダイアログで、MONGODB_URI 設定変数に MongoDB Atlas クラスターの接続文字列を設定します。 これはクラスターの接続ダイアログで確認できます。 "Connect your application" を選択し、ドライバーを "Node.js"、バージョンを "2.2.12 or later" に設定します。 すると、次の形式の接続文字列が表示されます:

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

    <username> フィールドと <password> フィールドには、先ほど追加したデータベースユーザーの詳細を入力する必要があります。<dbname> フィールドは、クラスター内で nodegoat が使用するデータベースの名前を設定します (例: "nodegoat")。その他のフィールドには、クラスターの正しい詳細がすでに入力されています。

バグ報告、フィードバック、コメント

  • 新しいイシューを開くか、Slack のチャットに参加してチームに連絡してください。または Join the chat at https://gitter.im/OWASP/NodeGoat

コントリビューション

コントリビューションガイド に従ってください

行動規範 (CoC)

このプロジェクトは行動規範に拘束されます。

コントリビューター

NodeGoat プロジェクトへの素晴らしいコントリビューターはこちらです。

サポート

  • このプロジェクトを構築するにあたり、素晴らしい WebStorm IDE のライセンスを提供してくれた JetBrains に感謝します。

ライセンス

コードは Apache License v2.0. の下でライセンスされています。

ツールをダウンロード
<username>
<password>
<dbname>
  • アプリに必要なシードデータを MongoDB に投入します:

    root@kitploit:~
    npm run db:seed
    

    デフォルトでは "development" 設定が使用されますが、必要に応じて引数として任意の設定を渡すこともできます。

  • サーバーを起動します。サーバーは node または nodemon を使用して実行できます:

    • node でサーバーを起動します。これにより、http://localhost:4000/ で NodeGoat アプリケーションが起動します:
      root@kitploit:~
      npm start
      
    • nodemon でサーバーを起動します。nodemon はコードに変更を加えるとアプリケーションを自動的に再起動します。これにより、http://localhost:5000/ で NodeGoat アプリケーションが起動します:
      root@kitploit:~
      npm run dev