
Damn Vulnerable GraphQL Application é uma implementação de serviço GraphQL intencionalmente vulnerável, projetada para aprender e praticar Segurança em GraphQL.
A Aplicação GraphQL Damn Vulnerável é uma implementação intencionalmente vulnerável da tecnologia GraphQL do Facebook, para aprender e praticar Segurança em GraphQL.
A Damn Vulnerable GraphQL é uma implementação deliberadamente fraca e insegura do GraphQL que fornece um ambiente seguro para atacar uma aplicação GraphQL, permitindo que desenvolvedores e profissionais de TI testem vulnerabilidades.
A DVGA tem inúmeras falhas, como Injeções, Execuções de Código, Bypasses, Negação de Serviço, e mais. Veja a lista completa na secção Cenários. Uma coleção Postman pública também está disponível para reproduzir soluções para os desafios. Pode importar a coleção clicando no botão Run in Postman abaixo.
A DVGA suporta modos de jogo Iniciante e Especialista, que alteram a dificuldade de exploração.
As seguintes bibliotecas Python3 são necessárias:
Veja requirements.txt para dependências.
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
No seu navegador, navegue até http://localhost:5013
Nota: se precisar que a aplicação vincule a uma porta específica (exemplo: 8080), use -e WEB_PORT=8080.
docker pull dolevf/dvga
Imagem do Docker Hub: dolevf/dvga
docker run -t -p 5013:5013 -e WEB_HOST=0.0.0.0 dolevf/dvga
No seu navegador, navegue até 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
No seu navegador, navegue até http://localhost:5013.

Um grande Obrigado às pessoas gentis que ajudaram a melhorar a DVGA:
A DVGA é altamente insegura e, como tal, não deve ser implantada em servidores voltados para a Internet. Por padrão, a aplicação está ouvindo em 127.0.0.1 para evitar configurações incorretas.
A DVGA é intencionalmente falha e vulnerável, portanto, não vem com garantias. Ao usar a DVGA, você assume total responsabilidade pelo seu uso.
É distribuída sob a Licença MIT. Consulte LICENSE para mais informações.