Maldita aplicación GraphQL indefenso es una implementación intencionalmente indefenso de la tecnología GraphQL de Facebook, para asimilar y practicar GraphQL Security.
Sobre DVGA
Damn Pusilánime GraphQL es una implementación deliberadamente débil e insegura de GraphQL que proporciona un entorno seguro para atacar una aplicación GraphQL, lo que permite a los desarrolladores y profesionales de TI probar las vulnerabilidades.
DVGA tiene numerosos defectos, como inyecciones, ejecuciones de códigos, omisiones, denegación de servicio y más. Consulte la relación completa en la sección Escenarios.
Modos de operación
DVGA admite modos de articulación de nivel Principiante y Habituado, que cambiarán la dificultad de explotación.
Escenarios
- Invalidez de servicio
- Ataque de consulta por lotes
- Ataque de consulta de recursividad profunda
- Ataque de consulta intensivo en bienes
- Divulgación de información
- Introspección GraphQL
- Interfaz GraphiQL
- Sugerencias de campo GraphQL
- Falsificación de solicitudes del costado del servidor
- Ejecución de código
- Inyección de comandos del SO n. ° 1
- Inyección de comandos del sistema operante # 2
- Inyección
- Secuencias de comandos almacenadas entre sitios
- Suplantación de registro / Inyección de registro
- Inyección HTML
- Omisión de autorización
- Bypass de protección de interfaz GraphQL
- Omisión de relación de denegación de consultas de GraphQL
- Diverso
- Protección de contraseña débil de consulta GraphQL
- Escritura arbitraria de archivos // Reconvención de ruta
Prerrequisitos
Se requieren las siguientes bibliotecas de Python3:
- Python3
- Matraz
- Matraz-SQLAlchemy
- Grafeno
- Grafeno-SQLAlquimia
Consulte requirements.txt para conocer las dependencias.
Instalación
Estibador
git clone [email protected]:dolevf/Damn-Pusilánime-GraphQL-Application.git && cd Damn-Pusilánime-GraphQL-Application
Alternativamente, extraiga la imagen directamente desde Docker Hub: docker pull dolevf/dvga
docker build -t dvga .
- Crea un contenedor a partir de la imagen
docker run -t -p 5000:5000 -e WEB_HOST=0.0.0.0 dvga
En su navegador, vaya a http: // localhost: 5000
Opcionalmente, si necesita que la aplicación se vincule en un puerto o interfaz específicos, use el próximo comando: docker run -e WEB_HOST=0.0.0.0 -e WEB_PORT=8080 -t -p 8080:8080 dvga
Servidor
cd /opt/
git clone [email protected]:dolevf/Damn-Pusilánime-GraphQL-Application.git && cd Damn-Pusilánime-GraphQL-Application
pip3 install -r requirements.txt
python3 app.py
En su navegador, vaya a http: // localhost: 5000.
Capturas de pantalla
Descargo de responsabilidad
DVGA es muy inseguro y, como tal, no debe implementarse en servidores conectados a Internet. De forma predeterminada, la aplicación está escuchando 127.0.0.1 para evitar configuraciones incorrectas. DVGA es intencionalmente defectuoso y indefenso, como tal, viene sin garantías. Al usar DVGA, asume toda la responsabilidad de usarlo.