Module

M08: Unsichere Deserialisierung

Für die folgenden Aufgaben brauchen Sie zuerst ein veraltetes REST-API für B2B. Möglicherweise gibt es dazu eine Swagger-Dokumentation …

Läuft der Juice Shop unter Docker, sind diese Lücken nur simuliert.

  1. Aufgabe 01

    Remotecodeausführung, die die Anwendung dauerhaft auslastet

    Bringen Sie den Server per unsicherer Deserialisierung in eine Endlosschleife – nicht per Request-Flut.

    Hinweise
    • Der Juice Shop hat eine veraltete B2B-Schnittstelle; die müssen Sie zuerst finden.
    • Weil der Shop in JavaScript geschrieben ist, liegt ein bestimmtes Datenformat für die Serialisierung nahe.
    • Ziel ist, den Server „für alle Ewigkeit“ zu beschäftigen.
    • Die Aufgabe zählt, wenn Sie einen Endlosschleifen-Vektor ausführen.
    • Den Server mit Anfragen zu bombardieren (klassisches DoS) löst sie nicht.
    • Das würde eher Ihre Instanz umlegen als die Aufgabe.
  2. Aufgabe 02

    Remotecodeausführung ohne Endlosschleife, die den Server eine Weile beschäftigt

    Gleicher Einstieg wie oben – diesmal ohne Endlosschleife, aber mit spürbarer Last.

    Hinweise
    • Der Ansatzpunkt ist derselbe wie bei der Aufgabe darüber. Diesmal ohne Endlosschleife.
    • Die Anwendung begrenzt die Zahl der Iterationen: Die Aufgabe wird als gelöst markiert, der Shop bleibt aber erreichbar.