Was OWASP Juice Shop ist (Ein-Absatz-Version)
Juice Shop ist eine absichtlich kaputte Webshop-Anwendung der OWASP Foundation. Angular-Frontend, Express-Backend, SQLite-Datenbank. Über hundert dokumentierte Schwachstellen, die du finden und ausnutzen kannst. Das Standard-Trainings-Target für Web-App-Pentesting — und der sauberste rechtliche Kontext, den du kriegen kannst: Die Macher haben die App ausdrücklich zum Üben gebaut.
Das Lab-Setup
docker run --rm -p 3000:3000 bkimminich/juice-shop
Ein Befehl. Die App läuft auf http://localhost:3000. Firefox mit FoxyProxy zu Burp Suite, Burp auf Port 8080, Intercept an. Standard-Workflow.
Dieser Artikel geht fünf ausgewählte Challenges durch — jeweils im Vergleich: einmal klassisch von Hand, einmal mit Claude Code als Copilot. Der Fokus liegt darauf, wo die KI hilft und wo sie nur Reibung erzeugt, nicht auf sekundengenauen Messwerten.
Hinweis zu den Zahlen: Die Zeit-Angaben unten sind typische Größenordnungen, keine gemessene Einzel-Session. Sie zeigen die Tendenz — bei welchem Challenge-Typ KI schneller ist und bei welchem nicht.
Challenge 1 — Admin Section finden (Score Board)
Das erste Level der meisten Juice-Shop-Runden. Du sollst eine versteckte URL finden.
Ohne KI: Browser auf die Haupt-App, F12, main.js nach Pfaden durchsuchen, /#/score-board finden. Größenordnung: unter einer Minute.
Mit KI: Prompt "Juice Shop läuft auf localhost:3000. Finde versteckte Routen im Frontend". Claude schlägt vor, main.js zu inspizieren, gibt einen curl-Befehl zum Ziehen des Scripts und dann grep -o "'/[^']*'" main.js. In Sekunden eine Liste aller Routen.
Erkenntnis: Bei trivialen Challenges bremst KI eher, aber das grep-Pattern ist für komplexere Struktur-Aufgaben später hilfreich.
Challenge 2 — Login-Admin via SQL-Injection
Klassische SQL-Injection auf dem Login-Endpoint. Du willst dich als Admin einloggen, ohne Passwort.
Ohne KI: Login öffnen, ' OR 1=1-- im Email-Feld, irgendein Passwort. In Juice Shop funktioniert das tatsächlich so simpel. Sekundensache.
Mit KI: Bittet man Claude um Injection-Payloads für ein Angular-Frontend mit Sequelize-Backend, generiert er eine längere Liste, inklusive geschickterer Bypass-Methoden für den Fall, dass -- gefiltert wird (' OR '1'='1). Für Juice Shop kein Vorteil gegenüber dem Basis-Payload — aber die Liste ist für andere Apps nützlich. Hier kostet die längere Liste eher Zeit.
Erkenntnis: Für bekannte triviale Injection-Punkte ist die Liste Overkill. Für unbekannte Payloads macht sie Sinn.
Challenge 3 — Forged Review (Mass Assignment)
Schwieriger. Du sollst ein Review unter dem Namen eines anderen Users posten. Das erfordert Verständnis, wie der API-Endpoint funktioniert.
Ohne KI: Mit Burp Suite intercepten, normalen Review-Post abfangen, author-Feld auf fremde User-Email ändern, abschicken. Die App prüft nicht, ob der angemeldete User dem Autor-Feld-Wert entspricht — Mass-Assignment-Lücke. Mit Burp-Setup ein paar Minuten.
Mit KI: Zeigt man Claude den kompletten von Burp intercepteten Request und fragt "wo ist hier die Schwachstelle", erkennt er sofort die Mass Assignment ("das author-Feld wird nicht gegen den Session-User validiert") und liefert den Modifikations-Vorschlag. Deutlich schneller.
Erkenntnis: KI ist deutlich besser beim Erkennen gängiger Lücken-Patterns aus vollem Request-Kontext. Der erste klare Gewinn.
Challenge 4 — JWT-Token-Manipulation
Du sollst dich als anderer User ausgeben, indem du das JWT-Token manipulierst. Das erfordert JWT-Kenntnisse und eine spezielle Technik mit leerem Algorithmus.
Ohne KI: JWT decoden, Payload ändern, re-encoden, testen. Leicht vergisst man beim ersten Versuch, dass das alg-Feld auf none muss — mit Nachschlagen ein gutes Dutzend Minuten.
Mit KI: Claude erklärt JWT-Manipulation klar und gibt ein Python-Script, das den Token automatisch modifiziert:
import jwt
import base64
import json
token = "eyJ..." # der Token aus der App
header, payload, sig = token.split(".")
payload_decoded = json.loads(base64.urlsafe_b64decode(payload + "=="))
payload_decoded["data"]["email"] = "admin@juice-sh.op"
# ...
Script läuft sofort. Neuer Token in die Browser-Console, Session gesetzt, eingeloggt als Admin. Klar schneller.
Erkenntnis: Bei Challenges, die spezifisches Tool-Wissen erfordern (JWT-Tooling, Sequelize-Quirks, Angular-Routing-Interna), ist der KI-Copilot fast immer schneller, weil das Werkzeug-Knowhow der Flaschenhals ist, nicht die Angriffsidee.
Challenge 5 — XSS in Suchfunktion (reflektiert)
Der Suchfunktion einen XSS-Payload unterjubeln, der bei anderen Usern feuert.
Ohne KI: Standardpayloads probieren (<script>alert(1)</script>). Geblockt. Dann Angular-Template-Injection ({{constructor.constructor('alert(1)')()}}). Das triggert — Juice Shop nutzt Angular und hat einen Bug in der Template-Behandlung. Einige Minuten.
Mit KI: Prompt "Juice Shop Suchfunktion hat XSS. Normale <script>-Tags werden gefiltert. Was für Angular-spezifische Techniken könnte ich probieren?". Claude listet drei Techniken auf, inklusive Template-Injection mit constructor.constructor. Spürbar schneller.
Erkenntnis: Bei Framework-spezifischen Angriffen (Angular, React, Vue) hat die KI einen echten Wissensvorteil. Sie kennt die Quirks oft besser als man selbst.
Die Gesamtbilanz
| Challenge | Tendenz mit Claude Code | |---|---| | Admin Section finden | leicht schneller (grep-Pattern) | | SQL-Injection Login | langsamer (Aufgabe zu trivial) | | Forged Review | schneller (Pattern-Erkennung) | | JWT-Manipulation | deutlich schneller (Tool-Wissen) | | XSS in Suche | schneller (Framework-Quirks) |
Bei vier von fünf Challenges ist KI schneller. Bei einer langsamer — weil die Aufgabe so trivial ist, dass die KI nur zusätzliche Reibung hinzufügt. Das Muster ist konsistent: Je mehr Werkzeug-/Framework-Wissen eine Challenge verlangt, desto größer der KI-Vorteil; bei Trivial-Vektoren, die man auswendig kennt, bremst sie.
Wann du ohne KI schneller bist
Drei klare Fälle, in denen man ohne Copilot arbeitet:
- Trivial-Injections auf Targets, die man in- und auswendig kennt
- Erkundung mit viel Klicken durch die App (KI kann nicht klicken)
- Wenn man konzentriert an einem kreativen Bypass arbeitet und keine Störungen will
Alles andere — KI parallel offen halten. Das ist der pragmatische Workflow.
Was du selbst testen solltest
Wenn du mit Juice Shop anfängst:
- Arbeite die ersten 10 Challenges komplett selbst. Du brauchst das Muskelgedächtnis. Die KI-Krücke zu früh macht dich langsam in den Basics.
- Ab den mittleren Challenges: KI als Research-Partner nutzen. Lass dir Payload-Ideen geben. Lass dir Request-Responses analysieren.
- Halte ein eigenes Playbook. Was funktionierte, was nicht, welche Payload-Typen neu waren. Das ist der langfristige Wert.
Rechtlicher Hinweis
Juice Shop ist ausdrücklich zum Üben gebaut — der ideale rechtliche Kontext. Dieselben Techniken gegen fremde, produktive Webanwendungen ohne schriftliche Erlaubnis sind in Deutschland nach §§ 202a, 202b, 202c, 303a StGB strafbar. Übe an dafür freigegebenen Zielen: Juice Shop, DVWA, WebGoat, autorisierte Bug-Bounty-Programme im dokumentierten Scope.
Weiterlesen
Ein verwandtes Spielfeld ist der Prompt-Injection-Jailbreak-Benchmark — andere Methodik, verwandtes Denken. Die Pentesting-Säule sammelt alles zum Thema.
Eigene Juice-Shop-Erfahrungen, Challenges, die du besonders tricky fandest? Im Discord — Zone "Hacking & Security" — sind immer ein paar Leute on. Discord beitreten.





