Lernmodus
Der Lernmodus bietet interaktive Schritt-für-Schritt-Angriffsszenarien in einer simulierten Browserumgebung. Durchlaufen Sie reale Angriffsketten, um zu verstehen, wie Schwachstellen ausgenutzt und wie sie verhindert werden.
Funktionsweise
Der Lernmodus verwendet eine geführte Split-Screen-Oberfläche, bei der Sie einem interaktiven Angriffsszenario folgen:
Linkes Panel — Szenarioleitfaden
Schritt-für-Schritt-Anweisungen, Szenariokontext und ein Erzähler, der Sie durch die gesamte Angriffskette führt. Jeder Schritt sagt Ihnen genau, was zu tun ist.
Rechtes Panel — Simulierte Umgebung
Ein voll interaktiver Browser, ein Mobilgerät oder eine Proxy-Simulation, in der Sie Aktionen ausführen — Schaltflächen anklicken, Formulare ausfüllen und Antworten in Echtzeit beobachten.
Lernmodus-Oberfläche
So sieht der Split-Screen-Lernmodus während eines Szenarios aus:
Ändern Sie die id in der URL von /profile/1 zu /profile/2. Beachten Sie, dass die App die Daten des zweiten Benutzers ohne Eigentumsprüfung bereitstellt.
params.id als Quelle der Wahrheit, anstatt die Sitzung zu überprüfen.Szenariostruktur
Jedes Szenario folgt einem konsistenten Fünf-Stufen-Muster, das reale Sicherheitsbewertungen widerspiegelt:
Simulierte Umgebungen
Der Lernmodus verwendet drei Arten von Simulationen, abhängig von der Schwachstellenkategorie:
| Umgebung | Verwendet für | Beschreibung |
|---|---|---|
| SimBrowser | Web-Schwachstellen | Eine voll interaktive Web-Browser-Simulation mit URL-Leiste, Navigation, Formularen und dynamischen Antworten. Verwendet für XSS, CSRF, SQL Injection und andere Web-Angriffe. |
| SimMobilePhone | Mobile Schwachstellen | iOS- und Android-Gerätesimulation mit nativen UI-Elementen, Statusleiste und Touch-Interaktionen. Verwendet für Insecure Storage, WebView Injection und Certificate Pinning Szenarien. |
| SimWebProxy | API-Schwachstellen | HTTP-Request/Response-Proxy, der rohe API-Aufrufe, Header und Payloads zeigt. Verwendet für BOLA, Mass Assignment, Broken Authentication und andere API-Sicherheitsszenarien. |
Fortschrittsverfolgung
Jedes Szenario verfolgt Ihren Fortschritt, sodass Sie genau dort weitermachen können, wo Sie aufgehört haben:
| Metrik | Beschreibung |
|---|---|
| Aktueller Schritt / Gesamtschritte | Zeigt Ihre Position im Szenario — z.B. "Schritt 8 von 14" |
| Abschlussstatus | in_progress oder completed |
| Fortsetzungsunterstützung | Sie können ein Szenario schließen und später zurückkehren — es setzt vom letzten Schritt fort |
Szenariofortschritt
Ihre Szenarioliste zeigt den aktuellen Fortschritt auf einen Blick:
Wann ein geführtes Szenario lehrt, was eine Code-Review-Challenge nicht kann
Eine Code-Review-Challenge im Übungsmodus gibt Ihnen einen eigenständigen Ausschnitt. Das ist eine faire Darstellung, wie Schwachstellen auf der Zeile aussehen, aber die meisten echten Schwachstellen sind nicht auf einer einzelnen Zeile. Sie leben über Dateien, über Dienste oder über die Grenze zwischen Client und Server. IDOR ist das kanonische Beispiel: Der schlechte Code ist nicht die Datenbankabfrage, es ist die fehlende Autorisierungsprüfung drei Schichten höher im Stack. Der Lernmodus ist das Format, das Ihnen diese Lücke zeigen kann, weil er die gesamte Anwendung vor Ihnen platziert.
Dasselbe gilt für jede Schwachstelle, bei der die Ausnutzung von Sitzungsstatus, mehrstufigen Anfrageabläufen oder vom Angreifer kontrolliertem Timing abhängt. Stored XSS spielt nur eine Rolle, wenn die Payload von einem Benutzer zum anderen reist. Mass Assignment spielt nur eine Rolle, wenn die Modellebene Anfragekörper-Schlüssel vertraut, die sie nie hätte freigeben dürfen. Ein Ausschnitt kann diese Kette nicht zeigen. Ein Szenario kann es, weil Sie sich anmelden, Aktionen ausführen, Antworten beobachten und beobachten, wie eine Schwachstelle in Echtzeit zu einem Datenleck wird. Die Fünf-Stufen-Szenariostruktur oben ist genau um diesen Bogen herum konzipiert.
Wie man den Lernmodus verwendet, wenn man bereits Senior ist
Senior-Entwickler und Sicherheits-Engineers überspringen manchmal den Lernmodus, weil sich der Erzähler und die Schritt-für-Schritt-Anweisungen langsam anfühlen. Das ist fair für Schwachstellenklassen, die Sie persönlich Dutzende Male ausgenutzt haben. Die richtige Verwendung des Lernmodus für Senior-Lernende ist zielgerichtet, nicht vollständig. Überfliegen Sie die Einführung, überfliegen Sie die Entdeckung und verlangsamen Sie nur bei der Ausnutzung, wenn die Angriffsfläche unbekannt ist. Ein Backend-Engineer, der noch nie iOS-Code geschrieben hat, wird mehr aus einem einzelnen Mobile-Insecure-Storage-Szenario lernen als aus zwanzig Übungs-Challenges in derselben Kategorie, weil der unbekannte Teil die Plattform ist, nicht das Konzept.
Der andere Senior-Anwendungsfall ist das Schließen von Sprachlücken. Wenn Sie einem Team beitreten, das einen Stack verwendet, den Sie nicht gut kennen, dienen Lernszenarien in diesem Stack als schnelle Tour durch die Anwendungsform und die Angriffsfläche, die Sie überprüfen werden. Kombinieren Sie das mit stack-ausgerichtetem Üben aus Stack-Einstellungen, um schneller auf einer neuen Codebasis hochzukommen, als allein durch das Lesen der Dokumentation.
Benutzerdefinierte Kurse bündeln Lernen und Üben zusammen
Organisationsadministratoren können benannte Sequenzen erstellen, die Lernszenarien und Übungsthemen in einen einzigen kuratierten Pfad mischen — siehe Benutzerdefinierte Kurse für den Erstellungsablauf. Wenn Ihnen ein benutzerdefinierter Kurs zugewiesen wird, konsumieren Sie ihn unter /learn/custom/<courseId>, als wäre es ein integrierter Kurs, und die Elemente erscheinen in der Reihenfolge, die der Administrator definiert hat. Übungselemente bewerten und belohnen XP weiterhin so, wie sie es im Übungsmodus tun; Lernelemente schreiben weiterhin den Fortschritt pro Szenario so, wie sie es hier tun.