Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
web-hacking-playground — Webanwendung mit Schwachstellen, die in realen Fällen gefunden wurden, sowohl bei Pentests als auch bei Bug-Bounty-Programmen. | Kitploit
Tools/GitHubGitHub/takito1812/web-hacking-playground
SchwachstellenanalyseWebanwendungs-ExploitationWebsicherheitCTFPenetrationstestsLernen & BildungLabs & Praxis
GitHubtakito1812/web-hacking-playground

web-hacking-playground

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Webanwendung mit Schwachstellen, die in realen Fällen gefunden wurden, sowohl bei Pentests als auch bei Bug-Bounty-Programmen.

Repository anzeigen
17234vor 2 JahrenVon Kitploit geprüft

Web Hacking Playground

Beschreibung

Web Hacking Playground ist eine kontrollierte Web-Hacking-Umgebung. Sie besteht aus Schwachstellen, die in realen Fällen gefunden wurden, sowohl bei Pentests als auch bei Bug-Bounty-Programmen. Ziel ist es, dass Benutzer damit üben und lernen, sie zu erkennen und auszunutzen.

Es werden auch andere interessante Themen behandelt, wie: Umgehung von Filtern durch Erstellung eigener Payloads, Durchführung von verketteten Angriffen unter Ausnutzung verschiedener Schwachstellen, Entwicklung von Proof-of-Concept-Skripten und mehr.

Wichtig

Der Quellcode der Anwendung ist sichtbar. Der Ansatz des Labs ist jedoch ein Black-Box-Ansatz. Daher sollte der Code nicht eingesehen werden, um die Herausforderungen zu lösen.

Zusätzlich ist zu beachten, dass Fuzzing (sowohl von Parametern als auch von Verzeichnissen) und Brute-Force-Angriffe in diesem Labor keinen Vorteil bringen.

Setup

Es wird empfohlen, Kali Linux für dieses Labor zu verwenden. Falls eine virtuelle Maschine verwendet wird, ist der Hypervisor VMware Workstation Player empfehlenswert.

Die Umgebung basiert auf Docker und Docker Compose, daher müssen beide installiert sein.

Um Docker auf Kali Linux zu installieren, führen Sie die folgenden Befehle aus:

root@kitploit:~
sudo apt update -y
sudo apt install -y docker.io
sudo systemctl enable docker --now

Um Docker auf anderen Debian-basierten Distributionen zu installieren, führen Sie die folgenden Befehle aus:

root@kitploit:~
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo systemctl enable docker --now

Um Docker Compose zu installieren, führen Sie den folgenden Befehl aus:

root@kitploit:~
sudo apt install -y docker-compose

Hinweis: Falls Sie ein M1-System verwenden, wird empfohlen, vor dem Erstellen der Images den folgenden Befehl auszuführen:

root@kitploit:~
export DOCKER_DEFAULT_PLATFORM=linux/amd64

Der nächste Schritt ist das Klonen des Repositorys und das Erstellen der Docker-Images:

root@kitploit:~
git clone https://github.com/takito1812/web-hacking-playground.git
cd web-hacking-playground
sudo docker-compose build

Außerdem wird empfohlen, die Browser-Erweiterung Foxy Proxy zu installieren, mit der Sie die Proxy-Einstellungen einfach ändern können, sowie Burp Suite, die wir zum Abfangen von HTTP-Anfragen verwenden.

Wir erstellen ein neues Profil in Foxy Proxy, um Burp Suite als Proxy zu verwenden. Dazu gehen wir zu den Foxy-Proxy-Optionen und fügen einen Proxy mit der folgenden Konfiguration hinzu:

  • Proxy-Typ: HTTP
  • Proxy-IP-Adresse: 127.0.0.1
  • Port: 8080

Bereitstellung

Sobald alles Notwendige installiert ist, können Sie die Umgebung mit dem folgenden Befehl bereitstellen:

root@kitploit:~
git clone https://github.com/takito1812/web-hacking-playground.git
cd web-hacking-playground
sudo docker-compose up -d

Dadurch werden zwei Container von Flask-Anwendungen auf Port 80 erstellt:

  • Die verwundbare Webanwendung (Socially): Simuliert ein soziales Netzwerk.
  • Der Exploit-Server: Sie sollten nicht versuchen, ihn zu hacken, da er keine Schwachstellen aufweist. Sein Ziel ist es, den Zugriff eines Opfers auf einen bösartigen Link zu simulieren.

Wichtig

Es ist notwendig, die IP der Container zur Datei /etc/hosts hinzuzufügen, damit sie über Namen erreichbar sind und der Exploit-Server mit der verwundbaren Webanwendung kommunizieren kann. Führen Sie dazu die folgenden Befehle aus:

root@kitploit:~
sudo sed -i '/whp-/d' /etc/hosts
echo "$(sudo docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' whp-socially) whp-socially" | sudo tee -a /etc/hosts
echo "$(sudo docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' whp-exploitserver) whp-exploitserver" | sudo tee -a /etc/hosts

Sobald dies erledigt ist, kann die verwundbare Anwendung unter http://whp-socially und der Exploit-Server unter http://whp-exploitserver erreicht werden.

Bei der Verwendung des Exploit-Servers müssen die oben genannten URLs verwendet werden, also der Domain-Name und nicht die IPs. Dadurch wird eine korrekte Kommunikation zwischen den Containern sichergestellt.

Beim Hacken muss zur Darstellung des Angreifer-Servers die lokale Docker-IP verwendet werden, da das Labor nicht dafür ausgelegt ist, Anfragen an externe Server wie Burp Collaborator, Interactsh usw. zu stellen. Ein Python http.server kann verwendet werden, um einen Webserver zu simulieren und HTTP-Interaktionen zu empfangen. Führen Sie dazu den folgenden Befehl aus:

root@kitploit:~
sudo python3 -m http.server 80

Stufen

Die Umgebung ist in drei Stufen unterteilt, jede mit unterschiedlichen Schwachstellen. Es ist wichtig, sie der Reihe nach zu bearbeiten, da die Schwachstellen der folgenden Stufen auf denen der vorherigen aufbauen. Die Stufen sind:

  • Stufe 1: Zugriff mit einem beliebigen Benutzer
  • Stufe 2: Zugriff als Admin
  • Stufe 3: Lesen der Datei /flag

Wichtig

Im Folgenden finden Sie Spoiler zu den Schwachstellen jeder Stufe. Wenn Sie keine Hilfe benötigen, können Sie diesen Abschnitt überspringen. Wenn Sie hingegen nicht wissen, wo Sie anfangen sollen, oder überprüfen möchten, ob Sie auf dem richtigen Weg sind, können Sie den für Sie interessanten Abschnitt aufklappen.

Stufe 1: Zugriff mit einem beliebigen Benutzer

Anzeigen

In dieser Stufe kann die Sitzung eines bestimmten Benutzers durch Cross-Site-Scripting (XSS) gestohlen werden, was die Ausführung von JavaScript-Code ermöglicht. Dazu muss das Opfer in der Lage sein, eine URL im Kontext des Benutzers aufzurufen. Dieses Verhalten kann mit dem Exploit-Server simuliert werden.

Die Hinweise zur Lösung dieser Stufe sind:

  • Gibt es auffällige Beiträge auf der Startseite?
  • Sie müssen zwei Schwachstellen verketten, um die Sitzung zu stehlen. XSS wird durch Ausnutzung einer Open-Redirect-Schwachstelle erreicht, bei der das Opfer auf eine externe URL umgeleitet wird.
  • Der Open Redirect unterliegt einigen Sicherheitsbeschränkungen. Sie müssen herausfinden, wie diese umgangen werden können. Analysieren Sie, welche Zeichenfolgen in der URL nicht erlaubt sind.
  • Cookies sind nicht der einzige Ort, an dem Sitzungsinformationen gespeichert werden. Ein Blick in den Quellcode der in der Anwendung eingebundenen JavaScript-Dateien kann helfen, Unklarheiten zu beseitigen.

Stufe 2: Zugriff als Admin

Anzeigen

In dieser Stufe kann ein Token generiert werden, das den Zugriff als Admin ermöglicht. Es handelt sich um einen typischen JSON-Web-Token (JWT)-Angriff, bei dem die Token-Payload geändert werden kann, um Berechtigungen zu eskalieren.

Der Hinweis zur Lösung dieser Stufe ist, dass es einen Endpunkt gibt, der bei einem JWT ein gültiges Sitzungs-Cookie zurückgibt.

Stufe 3: Lesen der Datei /flag

Anzeigen

In dieser Stufe kann die Datei /flag durch eine Server-Side-Template-Injection (SSTI)-Schwachstelle gelesen werden. Dazu müssen Sie die Anwendung dazu bringen, Python-Code auf dem Server auszuführen. Es ist möglich, Systembefehle auf dem Server auszuführen.

Die Hinweise zur Lösung dieser Stufe sind:

  • Die verwundbare Funktionalität ist durch eine Zwei-Faktor-Authentifizierung geschützt. Daher muss vor der Ausnutzung der SSTI ein Weg gefunden werden, die OTP-Code-Anfrage zu umgehen. Es gibt Fälle, in denen die Anwendung Anfragen vertraut, die vom selben Server kommen, und HTTP-Header spielen in dieser Situation eine wichtige Rolle.

  • Die SSTI ist blind, das bedeutet, dass die Ausgabe des auf dem Server ausgeführten Codes nicht direkt erhalten wird. Das Python-Modul smtpd ermöglicht es, einen SMTP-Server zu erstellen, der empfangene Nachrichten auf der Standardausgabe ausgibt:

    sudo python3 -m smtpd -n -c DebuggingServer 0.0.0.0:25

  • Die Anwendung verwendet Flask, daher kann abgeleitet werden, dass die Template-Engine Jinja2 ist, da sie von der offiziellen Flask-Dokumentation empfohlen wird und weit verbreitet ist. Sie müssen eine Jinja2-kompatible Payload erhalten, um die endgültige Flagge zu bekommen.

  • Die E-Mail-Nachricht hat eine Zeichenbeschränkung. Informationen zur Umgehung dieser Beschränkung finden Sie im Internet.

Lösungen

Detaillierte Lösungen für jede Stufe finden Sie im Ordner Solutions.

Ressourcen

Die folgenden Ressourcen können bei der Lösung der Stufen hilfreich sein:

  • Google
  • Twitter Advanced Search
  • HackTricks
  • PortSwigger Learning Materials
  • Payloads All The Things
  • Payload Box

Mitarbeit

Pull-Requests sind willkommen. Wenn Sie Fehler finden, eröffnen Sie bitte ein Issue.

Tool herunterladen