
Twitter verwundbare Schnipsel
Schwachstellen | Programmiersprachen | Ein verwundbares Code-Snippet ausführen | Installation | Aktualisierung
YesWeHack präsentiert Code-Snippets, die mehrere verschiedene Schwachstellen enthalten, um deine Code-Analyse in einer sicheren, dockerisierten Umgebung zu üben. Die verwundbaren Code-Snippets sind für alle Erfahrungsstufen geeignet.
~ Neues verwundbares Code-Snippet auf Twitter @yeswehack jeden Freitag! 🗒
Wenn du etwas Besonderes sehen möchtest oder einfach eine Idee für ein verwundbares Code-Snippet hast, erstelle gerne ein „Neues Issue“, in dem du deine Idee erklärst – keine Idee ist dumm.
⚠️ Achtung
Stelle sicher, dass du dies in einer sicheren Umgebung ausführst, da der Code verwundbar ist und zum Lernen der Code-Analyse verwendet werden soll! Standardmäßig enthalten alle verwundbaren Code-Snippets ein Docker-Setup, das den Code von deinem Host-System isoliert und die Ausführung sicher macht (mehr dazu im Abschnitt: „Ein verwundbares Code-Snippet ausführen“).
Eine Sammlung aller verwundbaren Code-Snippets, die wir auf Twitter veröffentlicht haben 📂
Ebenfalls enthalten
In jedem Ordner eines verwundbaren Code-Snippets (Vsnippet) befindet sich eine docker-compose.yml-Datei. Um ein Vsnippet in einer isolierten Docker-Umgebung zu starten, führe einfach den folgenden Befehl aus:
docker compose up --build
oder
docker-compose up --build
git clone https://github.com/yeswehack/vulnerable-code-snippets.git
Um die neuesten verwundbaren Code-Snippets zu erhalten, führe Folgendes aus:
git pull
~ H4v3 y0u f0und th3 E4st3r 3gg y3t? 🐇🪺
Bei Fragen, Hilfe oder wenn du ein Problem mit dem Code entdeckt hast, kontaktiere uns auf Twitter: @yeswehack 📬
| ID | Schwachstelle | Beschreibung |
|---|
| 📜#1 | SQLi & XSS | Backslash-Filter kollidiert |
| 📜#2 | Fehlerhafter Dateizugriff & XSS | Ungültige Zeichen- und Regex-Überprüfung |
| 📜#3 | Log-Forging-Injection, Path Traversal & Code-Injection | Mangelhafter Filter und unsachgemäße Handhabung von include() |
| 📜#4 | XSS | Ungültiger Filter für Benutzereingaben |
| 📜#5 | SSRF & Fehlerhafte Autorisierung | Vertrauenswürdige Benutzereingabe und Client-IP aus dem Header |
| 📜#6 | SSTI | Gemischtes Eingabeformat |
| 📜#7 | SQLi | Verwendung einer ungültigen Variable in einer Anweisung |
| 📜#8 | CSRF | Kein CSRF-Token enthalten |
| 📜#9 | Offene Weiterleitung | Ungültiger Regex-Handler |
| 📜#10 | DOM XSS | Backend-Filter kollidiert mit clientseitigem JavaScript |
| 📜#11 | CORS | Falsch konfigurierter Access-Control-Allow-Header |
| 📜#12 | CSRF/ClickJacking | GET-Request-CSRF mit unsicherem Löschprozess / ClickJacking – X-Frame-Options im HTML-Meta-Tag gesetzt |
| 📜#13 | Path Traversal/Uneingeschränkter Datei-Upload | Mangelhafter Schutz vor Path Traversal und Datei-Upload führt zu einer Code-Injection |
| 📜#14 | DoS | Falsche Operatorbehandlung in der „for“-Schleife |
| 📜#15 | Schwacher Mechanismus zur Passwortwiederherstellung bei vergessenem Passwort | Schwacher Hash für die Passwortwiederherstellung |
| 📜#16 | IDOR | Unsicheres if-Statement führt zu fehlerhafter Zugriffskontrolle |
| 📜#17 | Unsicheres Deserialisieren | Ausführen von vertrauenswürdiger Benutzereingabe in der Pickle-Funktion loads() |
| 📜#18 | Path Traversal | Unzureichende Validierung des Dateinamens |
| 📜#19 | Offene Weiterleitung | Fehlerhafte Behandlung von benutzergesteuerter Eingabe „location.hash“ |
| 📜#20 | SQL-Injection | Fehlerhafte Verwendung der Funktion replace(), Das Zeichen wird nur einmal ersetzt |
| 📜#21 | PostMessage DOM XSS | Keine Origin-Validierung, was zu PostMessage-DOM-XSS führt |
| 📜#22 | XSS/Offene Weiterleitung | Der Filter-Schutz filtert nicht alle Sonderzeichen, die zur Ausnutzung der Schwachstellen verwendet werden können |
| 📜#23 | Buffer Overflow | Nimmt die STDIN-Eingabe des Benutzers mit der Funktion gets() entgegen, ohne die Puffergröße zu überprüfen |
| 📜#24 | SQL-Injection | Falsche Verwendung der PHP-Funktion addslashes() |
| 📜#25 | XSS – CSP-Bypass | Keine Validierung der Benutzereingabe zusammen mit unsicherer Handhabung von Nonce |
| 📜#26 | Path Traversal | Der von der PHP-Funktion „preg_replace()“ bereitgestellte Filter ist darauf beschränkt, nur die ersten 10 Zeichen zu filtern |
| 📜#27 | Web-Cache-Poisoning | Der HTTP-Header Referer wird ungefiltert im Antworttext des Caches reflektiert |
| 📜#28 | Schwachstelle in der Geschäftslogik | Ein Angreifer kann negative Beträge abheben, um das Gesamtguthaben seines Kontos zu erhöhen |
| 📜#29 | IDOR | Ein Angreifer kann durch einen Forced-Browsing-Angriff Zugriff auf sensible Daten anderer Benutzer erlangen |
| 📜#30 | Unsicheres Deserialisieren | Verwendung einer gefährlichen Funktion (exec), die vom Benutzer kontrolliert werden kann, was zu einer RCE führt |
| 📜#31 | LFI | Keine ordnungsgemäße Zeichen-Escaping- oder Filterprüfung. Die Funktion include() führt den gesamten PHP-Code in der angegebenen Datei aus, unabhängig von der Dateierweiterung, was zu einer Code-Injection führt |
| 📜#32 | Format-Injection! | Formatiert einen String, der vom Client bereitgestellte Werte enthält, was zu einer Format-Injection führt |
| 📜#33 | SQL-Injection (Second Order) | Alle SQL-Abfragen verwenden Prepared Statements, außer der letzten. Diese Anweisung extrahiert einen Wert aus der Datenbank, der einst vom Benutzer kontrolliert wurde, und fügt ihn der SQL-Abfrage hinzu, was zu einer SQL-Injection (Second Order) führt |
| 📜#34 | Regular Expression Denial of Service (ReDoS) | Schlecht konfiguriertes Regex-Muster zum Filtern von benutzergesteuerter Eingabe |
| 📜#35 | XSS | Vertrauenswürdige Benutzereingabe im GET-Parameter |
| 📜#36 | Uneingeschränkter Datei-Upload | Unzureichende Validierung der Dateierweiterung der hochgeladenen Datei und fehlende Validierung des Dateiinhalts |
| 📜#37 | SSRF | Unsichere Handhabung des Proxy-Headers X-Forwarded-Host und von cURL führt zu einer vollständigen SSRF |
| 📜#38 | Code-Injection | Der Benutzer kann angepassten Inhalt in eine ausgewählte Datei schreiben, die dann auf dem verwundbaren System ausgeführt wird |
| 📜#39 | LFI | Die Ausnutzung eines LFI ermöglicht es, das Tool pearcmd auszuführen, was zu einer Remote Code Execution führt |
| 📜#40 | Uneingeschränkter Datei-Upload | Die Erweiterung php3 kann aufgrund der Konfiguration im Apache-Proxy verwendet werden, um PHP-Code auszuführen. |
| 📜#41 | Command-Injection | Fehlerhafte Verwendung von escapeshellcmd führt zu einer Command-Injection-Schwachstelle |
| 📜#42 | Command-Injection | Es wird keine Validierung der Benutzereingabe durchgeführt, was zu einer Command-Injection-Schwachstelle führt |
| 📜#43 | SSTI | Fehlerhafte Verwendung der Template-Engine führt zu einer SSTI, die zu einer RCE führt |