Damn Vulnerable GraphQL Application 是一个故意存在漏洞的 GraphQL 服务实现,旨在用于学习和实践 GraphQL 安全。
Damn Vulnerable GraphQL Application 是一个有意存在漏洞的 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。