
Damn Vulnerable GraphQL Application — это намеренно уязвимая реализация GraphQL-сервиса, предназначенная для изучения и практики безопасности GraphQL.
Damn Vulnerable GraphQL Application — это намеренно уязвимая реализация технологии GraphQL от Facebook, предназначенная для изучения и практики безопасности 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.