
Atomare Web-Sicherheitslücken-Labore. Eine OWASP-Schwachstelle pro App — minimales Flask + Docker, absichtlich fehlerhaft für praktisches Lernen mit Burp Suite.
⚠️ Absichtlich verwundbar. Nur lokal ausführen. Niemals ins Internet oder in ein gemeinsam genutztes Netzwerk stellen.
Lies dies in anderen Sprachen: Português (Brasil)
Meilenstein — v1.0: atomicvulns deckt jetzt alle zehn OWASP Top 10 2021-Kategorien (A01–A10) ab, über 38 Atome. Siehe das v1.0-Release.
atomicvulns ist eine Sammlung Webanwendungen — jede einzelne winzig, isoliert und auf aus den OWASP Top 10 fokussiert. Jedes Atom wird mit der verwundbaren App, der korrigierten Version, einem kommentierten Diff zwischen beiden und einer praktischen Schritt-für-Schritt-Anleitung für den Exploit ausgeliefert.
Dies ist nicht ein weiteres DVWA oder Juice Shop. Monolithische verwundbare Apps existieren bereits. Was atomicvulns auszeichnet, ist radikaler Atomismus: eine App pro Schwachstelle, schnell zu lesen, schnell zu erkunden. Du verfolgst die Code-Ursache → Request/Response → Exploit, ohne zuerst eine gesamte Anwendung verstehen zu müssen.
Alle zehn OWASP Top 10 2021-Kategorien sind abgedeckt — insgesamt 38 Atome:
| Kategorie | Atome |
|---|---|
| A01 — Broken Access Control | idor-numeric-id, path-traversal-basic, idor-uuid-guessable, bola-rest, csrf-basic, open-redirect, mass-assignment |
| A02 — Cryptographic Failures | jwt-none-alg, jwt-weak-secret, jwt-key-confusion, crypto-weak-hash, crypto-ecb-mode |
| A03 — Injection | sqli-union-basic, xss-reflected, sqli-blind-boolean, sqli-blind-time, xss-stored, command-injection-basic, ssti-jinja, xss-dom, nosql-injection-mongo, ldap-injection, sqli-second-order |
| A04 — Insecure Design | race-condition-basic |
| A05 — Security Misconfiguration | xxe-basic, xxe-blind-oob, debug-enabled, cors-wildcard |
| A06 — Vulnerable and Outdated Components | cve-demo |
| A07 — Identification and Authentication Failures | session-fixation, weak-password-reset |
| A08 — Software and Data Integrity Failures | deserialization-pickle, prototype-pollution, deserialization-node |
| A09 — Security Logging and Monitoring Failures | logging-failures-demo |
| A10 — Server-Side Request Forgery (SSRF) | ssrf-basic, ssrf-blind-oob, ssrf-cloud-metadata |
Pentest-Studierende und AppSec-Lernende, die bereits die Grundlagen von HTTP und dem Terminal kennen, Burp Suite verwenden (oder gerade lernen), und ein fokussiertes Labor wollen, in dem jede Übung kurz genug ist, um sie in einer Sitzung abzuschließen. Das Material ist für jemanden geschrieben, der dies in einer Pentest-Karriere anwenden wird — Burp ist das primäre Werkzeug, die UI ist nur Kontext.
Jedes Atom liegt in einem eigenen Ordner unter atoms/A0X-<category>/<atom-id>/ und wird mit einer docker-compose.yml ausgeliefert. Ein Wrapper-Skript im Wurzelverzeichnis, ./atom, steuert sie:
./atom list # show all available atoms
./atom up <atom-id> # start the vulnerable + fixed pair
./atom down <atom-id> # stop and remove containers
./atom doctor # sanity-check your local setup
Um beispielsweise das erste Atom zu starten:
./atom up sqli-union-basic
# vulnerable → http://127.0.0.1:8001
# fixed → http://127.0.0.1:8101
Jedes Atom bindet nur an 127.0.0.1. Ändere das niemals — diese Apps sind absichtlich kaputt.
Veröffentlicht unter der MIT License. Wenn du dieses Repository für Lehrmaterial forkst, ist eine Namensnennung erforderlich.