
Una aplicación serverless deliberadamente vulnerable

Damn Vulnerable Serverless Application (DVSA) es una aplicación deliberadamente vulnerable que pretende ser una ayuda para que los profesionales de la seguridad pongan a prueba sus habilidades y herramientas en un entorno legal, ayudar a los desarrolladores a comprender mejor los procesos de aseguramiento de aplicaciones serverless y ayudar tanto a estudiantes como a profesores a aprender sobre la seguridad de las aplicaciones serverless en un entorno de aula controlado.
El objetivo de DVSA es practicar algunas de las vulnerabilidades serverless más comunes, con una interfaz simple y directa.
Ten en cuenta que este software contiene vulnerabilidades tanto documentadas como indocumentadas. Esto es intencional. Te animamos a intentar descubrir tantos problemas como sea posible.
No instales DVSA en una cuenta de producción
No nos hacemos responsables de la forma en que cualquiera utilice esta aplicación (DVSA). Hemos dejado claros los propósitos de la aplicación y no debe utilizarse con fines maliciosos. Hemos dado advertencias y tomado medidas para evitar que los usuarios instalen DVSA en cuentas de producción.
Despliega DVSA desde el Repositorio de aplicaciones serverless de AWS
Una vez completado el despliegue, haz clic en 'Ver pila de CloudFormation'
En 'Salidas' encontrarás la URL de la aplicación (DVSA Website URL)
npm config set python /path/to/your/python2)$ ./dvsa.sh client-build$ ./dvsa.sh client-connect --stack <STACK_NAME>$ ./dvsa.sh client-update --stack/--bucket$ ./dvsa.sh client-update -h/--help para más opciones$ ./dvsa.sh client-start
backend/deployment/ y usar la función backend/deployment/dvsa_init.py que se ejecuta al final del despliegue para realizar las acciones necesarias.$ ./dvsa.sh package-template (OPCIONAL: -h/--help para más opciones)
Puedes usar SAM Local para iniciar funciones Lambda y APIs
Alternativamente, puedes usar LocalStack
Nota: Si quieres apuntar tu cliente local hacia tu backend local, ejecuta $ ./dvsa.sh client-connect y REEMPLAZA el endpoint de ServiceEndpoint por http://localhost:3000 (seguirá usando los pools de Cognito en AWS).

DVSA envía los recibos por correo electrónico. Puedes usar la página Bandeja de entrada integrada en la aplicación para recibir los correos y obtener los recibos. A cada usuario se le asignará automáticamente un correo de 1secmail.com que será verificado automáticamente. Los correos reales se enviarán a su cuenta y aparecerán en la página Bandeja de entrada de la aplicación.
Si quieres que los usuarios reciban correos en su cuenta de correo registrada real (p. ej., gmail):
aws ses verify-email-identity --email-address <your_email>

consulta LESSONS para obtener información sobre cómo hackear DVSA.
consulta VIDEOS para saber cómo desplegar, usar y hackear DVSA.
OWASP Top 10 - Interpretación Serverless
Inmersión profunda en ataques serverless - Serie
Proyecto OWASP Serverless Top 10
Cuenta de Twitter (hackeable)
Canal de Slack #project-sls-top-10
DVSA fue creado por Tal Melamed
Damn Vulnerable Serverless Application (DVSA) es software libre: puedes redistribuirlo y/o modificarlo bajo los términos de la Licencia Pública General de GNU publicada por la Free Software Foundation, ya sea la versión 3 de la Licencia, o (a tu elección) cualquier versión posterior.
Damn Vulnerable Serverless Application (DVSA) se distribuye con la esperanza de que sea útil, pero SIN GARANTÍA ALGUNA; incluso sin la garantía implícita de COMERCIABILIDAD o IDONEIDAD PARA UN FIN PARTICULAR. Consulta la Licencia Pública General de GNU para obtener más detalles.
Deberías haber recibido una copia de la Licencia Pública General de GNU junto con Damn Vulnerable Serverless Application (DVSA). Si no es así, consulta http://www.gnu.org/licenses/.