Um einige der Challenges zu lösen muss der Name der gefundenen Bibliothek bzw. die Lösung über das Kontaktformular an den Shop gesendet werden. So kann der Juice Shop die Challenge als gelöst erkennen.
Nützliche Tools, um NPM Packages auf bekannte Schwachstellen zu untersuchen, sind:
Informiere den Juice-Shop über eine Typosquatting-Attacke, die er zum Opfer wurde.
Untersuchen Sie die im FTP-Ordner vergessene Backup Datei, in der sich die verwendeten Libraries befinden.
Senden Sie ein Feedback über das Kontaktformular mit der auffälligen Bibliothek um die Challenge zu lösen.
Senden Sie ein Feedback über das Kontaktformular, indem Sie die schwache Bibliothek einschließlich ihrer genauen Version benennen, um die Challenge zu lösen.
Suchen Sie nach möglichen Abhängigkeiten in Bezug auf die Sicherheit in der Datei package.json.bak, die Sie zuvor heruntergeladen haben.
Recherchieren Sie dazu im Internet über die Libraries, die sich in der Backup Datei befinden.
Bei dieser Herausforderung wird eine gültige JWT für einen Benutzer erstellt, der nicht in der Datenbank vorhanden ist, aber die Anwendung davon überzeugt ist, dass sie noch immer legitim ist.
Sie sollten mit dem Abrufen einer gültigen JWT aus dem Header der Autorisierungsanforderung der Anwendung beginnen.
Ein JWT wird nur an eingeloggte Benutzer vergeben. Sie haben eine begrenzte Gültigkeit, also besser nicht trödeln.
Die Website https://jwt.io/ bietet einen sehr praktischen Online-Debugger für JWT, der sich für diese Herausforderung als wichtig erweisen kann.
Versuchen Sie, die Seite davon zu überzeugen, Ihnen ein gültiges Token mit dem erforderlichen Payload zu geben.
Bei dieser Aufgabe geht es darum, einen weiteren Fall von Typosquatting der im Juice Shop versteckt ist zu erkennen.
Auch diese Herausforderung hat nichts mit URLs oder Domains zu tun.
Diese Library nutzt einen realistischen Tippfehler.
Finden Sie alle Stellen in der Anwendung, an denen Datei-Uploads möglich sind.
Für mindestens einen davon ist der Juice Shop auf eine library angewiesen, die unter einer beliebigen Dateiüberschreibbarkeit leidet.
Einen Hinweis auf die zugrunde liegende Schwachstelle finden Sie in der @owasp_juiceshop Twitter Timeline.
Diese Herausforderung fordert, dass Sie eine gültige JWT für einen Benutzer erstellen, der nicht vorhanden ist.
Was diese Herausforderung noch schwieriger macht, ist die Anforderung, dass das JWT so aussieht, als wäre es richtig signiert.
Versuchen Sie, anstelle der Erzwingung, dass keine Verschlüsselung angewendet werden soll, einen komplexeren Exploit gegen die JWT-Bibliotheken anzuwenden, die im Juice Shop verwendet werden.
Der Zugriff auf den öffentlichen RSA-Schlüssel, den die Anwendung für ihre JWTs benötigt, ist für diese Aufgabe zwingend erforderlich.
Das Finden des entsprechenden privaten Schlüssels sollte eigentlich unmöglich sein, aber das macht diese Herausforderung offensichtlich nicht unlösbar.