
Damn Vulnerable GraphQL Application は、GraphQL セキュリティについて学び実践するために設計された、意図的に脆弱性を持たせた GraphQL サービス実装です。
Damn Vulnerable GraphQL Applicationは、FacebookのGraphQL技術を意図的に脆弱に実装したもので、GraphQLセキュリティを学び、実践するためのものです。
Damn Vulnerable GraphQLは、意図的に脆弱で安全ではないGraphQLの実装であり、攻撃者が安全な環境でGraphQLアプリケーションを攻撃し、開発者やITプロフェッショナルが脆弱性をテストできるようにします。
DVGAには、インジェクション、コード実行、バイパス、サービス拒否など、多数の欠陥があります。完全なリストはシナリオセクションを参照してください。チャレンジの解決策を再現するための公開Postmanコレクションも利用可能です。以下の「Run in Postman」ボタンをクリックしてコレクションをインポートできます。
DVGAは、悪用の難易度を変えるビギナーモードとエキスパートモードをサポートしています。
以下のPython3ライブラリが必要です:
依存関係についてはrequirements.txtを参照してください。
git clone https://github.com/dolevf/Damn-Vulnerable-GraphQL-Application.git && cd Damn-Vulnerable-GraphQL-Application
docker build -t dvga .
docker run -d -t -p 5013:5013 -e WEB_HOST=0.0.0.0 --name dvga dvga
ブラウザで http://localhost:5013 にアクセスしてください。
注意: アプリケーションを特定のポート(例: 8080)にバインドする必要がある場合は、-e WEB_PORT=8080 を使用してください。
docker pull dolevf/dvga
Docker Hubイメージ: dolevf/dvga
docker run -t -p 5013:5013 -e WEB_HOST=0.0.0.0 dolevf/dvga
ブラウザで http://localhost:5013 にアクセスしてください。
cd /opt/
git clone [email protected]:dolevf/Damn-Vulnerable-GraphQL-Application.git && cd Damn-Vulnerable-GraphQL-Application
pip3 install -r requirements.txt
python3 app.py
ブラウザで http://localhost:5013 にアクセスしてください。

DVGAをより良くするために協力してくださった皆様に、心より感謝申し上げます:
DVGAは非常に安全ではなく、インターネットに面したサーバーにデプロイすべきではありません。デフォルトでは、誤設定を避けるためにアプリケーションは127.0.0.1で待機しています。
DVGAは意図的に欠陥があり脆弱であるため、いかなる保証もありません。DVGAを使用することにより、使用者は全ての責任を負うものとします。
MITライセンスの下で配布されています。詳細はLICENSEを参照してください。