Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Damn-Vulnerable-GraphQL-Application — Damn Vulnerable GraphQL Application — это намеренно уязвимая реализация GraphQL-сервиса, предназначенная для изучения и практики безопасности GraphQL. | Kitploit
Инструменты/GitHubGitHub/dolevf/damn-vulnerable-graphql-application
Анализ уязвимостейТестирование безопасности APIВеб-безопасностьCTFТестирование на ПроникновениеОбучение и ОбразованиеБезопасность APIЛаборатории и Практика

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
GitHub
dolevf/damn-vulnerable-graphql-application

Damn-Vulnerable-GraphQL-Application

Damn Vulnerable GraphQL Application — это намеренно уязвимая реализация GraphQL-сервиса, предназначенная для изучения и практики безопасности GraphQL.

Репозиторий
1.7k3741 год назадПроверено Kitploit

Damn Vulnerable GraphQL Application

Damn Vulnerable GraphQL Application — это намеренно уязвимая реализация технологии GraphQL от Facebook, предназначенная для изучения и практики безопасности GraphQL.

DVGA

Содержание

  • О DVGA
  • Режимы работы
  • Сценарии
  • Предварительные требования
  • Установка
    • Установка — Docker
    • Установка — Docker Registry
    • Установка — Сервер
  • Скриншоты
  • Сопровождающие
  • Участники
  • Упоминания
  • Отказ от ответственности
  • Лицензия

О DVGA

Damn Vulnerable GraphQL — это намеренно слабая и небезопасная реализация GraphQL, предоставляющая безопасную среду для атаки на GraphQL-приложение, позволяя разработчикам и IT-специалистам проверять уязвимости.

Поддержка операций DVGA

  • Запросы (Queries)
  • Мутации (Mutations)
  • Подписки (Subscriptions)

DVGA содержит множество недостатков, таких как инъекции, выполнение кода, обходы, отказ в обслуживании и другие. Полный список см. в разделе Сценарии. Также доступна публичная коллекция Postman для воспроизведения решений задач. Вы можете импортировать коллекцию, нажав кнопку «Run in Postman» ниже.

Run in Postman

Режимы работы

DVGA поддерживает режимы игры «Начинающий» и «Эксперт», которые изменяют сложность эксплуатации.

Сценарии

  • Разведка
    • Обнаружение GraphQL
    • Снятие отпечатков GraphQL
  • Отказ в обслуживании
    • Атака пакетными запросами
    • Атака глубоко рекурсивным запросом
    • Атака ресурсоёмким запросом
    • Атака дублированием полей
    • Атака на основе псевдонимов
  • Разглашение информации
    • Интроспекция GraphQL
    • Интерфейс GraphiQL
    • Подсказки полей GraphQL
    • Подделка серверных запросов (SSRF)
    • Ошибки с трассировкой стека
  • Выполнение кода
    • Инъекция команд ОС №1
    • Инъекция команд ОС №2
  • Инъекции
    • Хранимая межсайтовая подмена (XSS)
    • Подделка / инъекция журналов
    • HTML-инъекция
    • SQL-инъекция
  • Обход авторизации
    • Подделка JWT-токена GraphQL
    • Обход защиты интерфейса GraphQL
    • Обход списка запрещённых запросов GraphQL
  • Прочее
    • Слабая защита паролем запросов GraphQL
    • Произвольная запись файлов / обход пути

Предварительные требования

Требуются следующие библиотеки Python3:

  • Python3 (3.6 – 3.10)
  • Flask
  • Flask-SQLAlchemy
  • Flask-Sockets
  • Gevent
  • Graphene
  • Graphene-SQLAlchemy
  • Rx

См. requirements.txt для зависимостей.

Установка

Docker

Клонировать репозиторий

git clone https://github.com/dolevf/Damn-Vulnerable-GraphQL-Application.git && cd Damn-Vulnerable-GraphQL-Application

Собрать Docker-образ

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 Registry

Загрузить образ Docker из Docker Hub

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

Сервер

Перейти в /opt

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 DVGA DVGA

Сопровождающие

  • Dolev Farhi
  • Connor McKinnon
  • Nick Aleks

Участники

Большое спасибо добрым людям, которые помогли сделать DVGA лучше:

  • Halfluke

Упоминания

  • Black Hat GraphQL — No Starch Press
  • OWASP Vulnerable Web Applications Directory
  • GraphQL Weekly
  • DZone API Security Weekly
  • KitPloit
  • tl;dr sec #72
  • Блог Intigriti
  • STÖK — Bounty Thursdays #26
  • Brakeing Security 2021-007
  • Yes We Hack — How to Exploit GraphQL
  • GraphQL Editor
  • Взлом GraphQL (португальский)
  • Демонстрация сканера InQL GraphQL
  • H4ck3d — Security Conference 2021 (испанский)
  • Christina Hasternath — GraphQLConf 2021
  • Hacking APIs (глава 14) Кори Болла — No Starch Press
  • Взлом упрощённо, часть №1
  • Взлом упрощённо, часть №2
  • Взлом упрощённо, часть №3

Отказ от ответственности

DVGA крайне небезопасна, и поэтому её не следует развёртывать на серверах, подключённых к интернету. По умолчанию приложение прослушивает 127.0.0.1, чтобы избежать некорректной настройки.

DVGA намеренно содержит недостатки и уязвимости, поэтому она поставляется без каких-либо гарантий. Используя DVGA, вы берёте на себя полную ответственность за её использование.

Лицензия

Распространяется по лицензии MIT. Дополнительную информацию см. в LICENSE.

Скачать инструмент