
Atomic वेब भेद्यता लैब्स। प्रति ऐप एक OWASP दोष — न्यूनतम Flask + Docker, Burp Suite के साथ व्यावहारिक अध्ययन के लिए जानबूझकर तोड़ा गया।
⚠️ जानबूझकर असुरक्षित। केवल स्थानीय रूप से चलाएँ। इसे कभी भी इंटरनेट या किसी साझा नेटवर्क पर उजागर न करें।
इसे अन्य भाषाओं में पढ़ें: Português (Brasil)
माइलस्टोन — v1.0: web श्रृंखला अब सभी दस OWASP Top 10 2021 श्रेणियों (A01–A10) को कवर करती है, जो 38 atoms में फैली हुई है। देखें v1.0 रिलीज़।
atomicvulns atomic वेब एप्लिकेशनों का एक संग्रह है — प्रत्येक अत्यंत छोटा, पृथक, और OWASP Top 10 की एकल कमज़ोरी पर केंद्रित है। प्रत्येक atom के साथ असुरक्षित ऐप, उसका ठीक किया गया संस्करण, दोनों के बीच टिप्पणीयुक्त diff, और exploit का व्यावहारिक walkthrough शामिल होता है।
यह कोई दूसरा DVWA या Juice Shop नहीं है। एकल-खंड असुरक्षित ऐप्स पहले से मौजूद हैं। atomicvulns को अलग बनाता है कट्टर atomism: प्रत्येक दोष के लिए एक ऐप, पढ़ने में तेज़, खोजने में तेज़। आप पूरे एप्लिकेशन को पहले समझे बिना ही कोड कारण → request/response → exploit का मानचित्रण करते हैं।
web श्रृंखला (Python/Flask) सभी दस OWASP Top 10 2021 श्रेणियों को कवर करती है — कुल 38 atoms:
| श्रेणी | Atoms |
|---|---|
| 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 |
API श्रृंखला (TypeScript/Express) OWASP API Security Top 10 2023 को लक्षित करती है। इसका पहला चरण — Authorization: Object & Function — प्रकाशित हो चुका है: दो श्रेणियों में पाँच atoms, जो object-level और function-level authorization अक्षों को पूरा करते हैं। पूरी क्रमबद्ध योजना इसकी ROADMAP में उपलब्ध है।
| श्रेणी | Atoms |
|---|---|
| API1 — Broken Object Level Authorization | bola-sequential-id, bola-uuid-leaked, bola-nested-resource |
| API5 — Broken Function Level Authorization | bfla-admin-function, bfla-method-based |
Pentest छात्र और AppSec शिक्षार्थी जो HTTP और टर्मिनल की मूल बातें पहले से जानते हैं, Burp Suite का उपयोग करते हैं (या सीख रहे हैं), और एक केंद्रित लैब चाहते हैं जहाँ प्रत्येक अभ्यास एक ही बैठक में पूरा करने के लिए पर्याप्त छोटा हो। यह सामग्री उस व्यक्ति के लिए लिखी गई है जो इसे pentest करियर में लागू करेगा — Burp प्राथमिक उपकरण है, UI केवल संदर्भ है।
प्रत्येक atom अपने स्वयं के फ़ोल्डर में रहता है — web श्रृंखला के लिए atoms/web/A0X-<category>/<atom-id>/, API श्रृंखला के लिए atoms/api/APIX-<category>/<atom-id>/ — और एक docker-compose.yml के साथ आता है। एक रूट wrapper स्क्रिप्ट, ./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 # web series
# vulnerable → http://127.0.0.1:8001
# fixed → http://127.0.0.1:8101
./atom up bola-sequential-id # API series
# vulnerable → http://127.0.0.1:8201
# fixed → http://127.0.0.1:8301
प्रत्येक atom केवल 127.0.0.1 से बाइंड होता है। कभी भी इसे न बदलें — ये ऐप्स जानबूझकर असुरक्षित (broken) बनाए गए हैं।
MIT License के अंतर्गत जारी। यदि आप शैक्षिक सामग्री के लिए इस रिपॉज़िटरी को फ़ोर्क करते हैं, तो श्रेय (attribution) आवश्यक है।