
Damn Vulnerable GraphQL Application은 의도적으로 취약한 GraphQL 서비스 구현체로, GraphQL 보안에 대해 배우고 연습하기 위해 설계되었습니다.
취약한 GraphQL 애플리케이션(Damn Vulnerable GraphQL Application)은 Facebook의 GraphQL 기술을 의도적으로 취약하게 구현한 것으로, 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를 참조하십시오.