
Eine verdammt verwundbare Serverless-Anwendung

Damn Vulnerable Serverless Application (DVSA) ist eine absichtlich verwundbare Anwendung, die als Hilfsmittel für Sicherheitsexperten dienen soll, um ihre Fähigkeiten und Werkzeuge in einer legalen Umgebung zu testen, Entwicklern helfen soll, die Prozesse der Absicherung von Serverless-Anwendungen besser zu verstehen, und sowohl Studierenden als auch Lehrenden helfen soll, Serverless-Anwendungssicherheit in einer kontrollierten Klassenumgebung zu erlernen.
Das Ziel von DVSA ist es, einige der häufigsten Serverless-Schwachstellen zu üben, mit einer einfachen, übersichtlichen Benutzeroberfläche.
Bitte beachten Sie, dass diese Software sowohl dokumentierte als auch undokumentierte Schwachstellen enthält. Dies ist beabsichtigt. Sie sind dazu ermutigt, so viele Probleme wie möglich zu entdecken.
Installieren Sie DVSA nicht auf einem Produktionskonto
Wir übernehmen keine Verantwortung für die Art und Weise, wie jemand diese Anwendung (DVSA) nutzt. Wir haben den Zweck der Anwendung klar gemacht, und sie sollte nicht böswillig verwendet werden. Wir haben Warnungen ausgesprochen und Maßnahmen ergriffen, um zu verhindern, dass Benutzer DVSA auf Produktionskonten installieren.
Stellen Sie DVSA über das AWS Serverless Application Repository bereit.
Nachdem die Bereitstellung abgeschlossen ist. Klicken Sie auf 'View CloudFormation Stack'.
Unter 'Outputs' finden Sie die URL für die Anwendung (DVSA-Website-URL).
npm config set python /path/to/your/python2 verwenden)$ ./dvsa.sh client-build$ ./dvsa.sh client-connect --stack <STACK_NAME>$ ./dvsa.sh client-update --stack/--bucket$ ./dvsa.sh client-update -h/--help für weitere Optionen$ ./dvsa.sh client-start
backend/deployment/ hinzufügen und die Funktion backend/deployment/dvsa_init.py verwenden, die am Ende der Bereitstellung ausgeführt wird, um die erforderlichen Aktionen durchzuführen.$ ./dvsa.sh package-template (OPTIONAL: -h/--help für weitere Optionen)
Sie können SAM Local verwenden, um Lambda-Funktionen und APIs zu starten.
Alternativ können Sie LocalStack verwenden.
Hinweis: Wenn Sie Ihren lokalen Client auf Ihr lokales Backend ausrichten möchten, führen Sie $ ./dvsa.sh client-connect aus und ERSETZEN Sie den Endpunkt von ServiceEndpoint durch http://localhost:3000 (Es werden weiterhin die Cognito-Pools in AWS verwendet).

DVSA sendet Quittungen per E-Mail. Sie können die integrierte Inbox-Seite in der Anwendung verwenden, um die E-Mails abzurufen und die Quittungen zu erhalten. Jeder Benutzer erhält automatisch eine E-Mail-Adresse von 1secmail.com, die automatisch verifiziert wird. Echte E-Mails werden an sein Konto gesendet und auf der Inbox-Seite der Anwendung angezeigt.
Wenn Sie möchten, dass Benutzer E-Mails an ihr tatsächlich registriertes E-Mail-Konto erhalten (z. B. Gmail):
aws ses verify-email-identity --email-address <your_email>

siehe LESSONS für Informationen zum Hacken von DVSA.
siehe VIDEOS für Anleitungen zum Bereitstellen, Verwenden und Hacken von DVSA.
OWASP Top 10 - Serverless Interpretation
Deep-Dive in Serverless-Angriffe - Serie
OWASP Serverless Top 10 Project
Twitter-Konto (hackbar)
Slack-Kanal #project-sls-top-10
DVSA wurde von Tal Melamed erstellt.
Damn Vulnerable Serverless Application (DVSA) ist freie Software: Sie können sie unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren, entweder in Version 3 der Lizenz oder (nach Ihrer Wahl) in einer späteren Version.
Damn Vulnerable Serverless Application (DVSA) wird in der Hoffnung verbreitet, dass sie nützlich sein wird, aber OHNE JEGLICHE GEWÄHRLEISTUNG; sogar ohne die stillschweigende Garantie der MARKTGÄNGIGKEIT oder der EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Weitere Einzelheiten finden Sie in der GNU General Public License.
Sie sollten eine Kopie der GNU General Public License zusammen mit Damn Vulnerable Serverless Application (DVSA) erhalten haben. Wenn nicht, besuchen Sie http://www.gnu.org/licenses/.