
Атомарные лаборатории по веб-уязвимостям. Одна уязвимость OWASP на приложение — минимальный Flask + Docker, намеренно уязвимые для практического изучения с Burp Suite.
⚠️ Намеренно уязвимо. Запускайте только локально. Никогда не выставляйте в интернет или общую сеть.
Читать на других языках: Português (Brasil)
Веха — v1.0: atomicvulns теперь покрывает все десять категорий OWASP Top 10 2021 (A01–A10) — всего 38 атомов. См. релиз v1.0.
atomicvulns — это коллекция атомарных веб-приложений: каждое крошечное, изолированное и сосредоточенное на из OWASP Top 10. Каждый атом поставляется с уязвимым приложением, исправленной версией, прокомментированным диффом между ними и практическим разбором эксплуатации.
Это не очередной DVWA или Juice Shop. Монолитные уязвимые приложения уже существуют. atomicvulns выделяется радикальным атомизмом: одно приложение на один недостаток — быстро читать, быстро изучать. Вы прослеживаете причину в коде → запрос/ответ → эксплойт, не разбираясь предварительно во всём приложении целиком.
Покрыты все десять категорий OWASP Top 10 2021 — всего 38 атомов:
| Категория | Атомы |
|---|---|
| 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 |
Студенты, изучающие пентест, и ученики в области AppSec, которые уже знают основы HTTP и терминала, используют (или учатся использовать) Burp Suite и хотят получить сфокусированную лабораторию, где каждое упражнение достаточно короткое, чтобы закончить его за один присест. Материал написан для тех, кто будет применять это в карьере пентестера: Burp — основной инструмент, а UI — лишь контекст.
Каждый атом находится в своей папке внутри atoms/A0X-<category>/<atom-id>/ и поставляется с docker-compose.yml. Корневой скрипт-обёртка ./atom управляет ими:
./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
Например, чтобы запустить первый атом:
./atom up sqli-union-basic
# vulnerable → http://127.0.0.1:8001
# fixed → http://127.0.0.1:8101
Каждый атом привязывается только к 127.0.0.1. Никогда не меняйте это — эти приложения намеренно сломаны.
Выпущено под MIT License. Если вы форкаете этот репозиторий для образовательных материалов, указание авторства обязательно.