Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
atomicvulns — Atomic web vulnerability labs. One OWASP flaw per app — minimal Flask + Docker, intentionally broken for hands-on study with Burp Suite. | Kitploit
Tools/GitHubGitHub/doretox/atomicvulns
Vulnerability AnalysisWeb Application ExploitationWeb SecurityCTFPenetration TestingLearning & EducationLearning Paths & CoursesLabs & Practice
GitHubdoretox/atomicvulns

atomicvulns

Atomic web vulnerability labs. One OWASP flaw per app — minimal Flask + Docker, intentionally broken for hands-on study with Burp Suite.

View Repository
841 day agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

atomicvulns — one vuln per app. nothing more.

License: MIT Release Atoms OWASP Top 10 Python

⚠️ Intentionally vulnerable. Run locally only. Never expose to the internet or a shared network.

Read this in other languages: Português (Brasil)

What is atomicvulns?

Milestone — v1.0: atomicvulns now covers all ten OWASP Top 10 2021 categories (A01–A10), across 38 atoms. See the v1.0 release.

atomicvulns is a collection of atomic web applications — each one tiny, isolated, and focused on from the OWASP Top 10. Every atom ships with the vulnerable app, the fixed version, a commented diff between the two, and a hands-on walkthrough of the exploit.

a single vulnerability

This is not another DVWA or Juice Shop. Monolithic vulnerable apps already exist. What sets atomicvulns apart is radical atomism: one app per flaw, fast to read, fast to explore. You map code cause → request/response → exploit without having to understand an entire application first.

Coverage

All ten OWASP Top 10 2021 categories are covered — 38 atoms in total:

CategoryAtoms
A01 — Broken Access Controlidor-numeric-id, path-traversal-basic, idor-uuid-guessable, bola-rest, csrf-basic, open-redirect, mass-assignment
A02 — Cryptographic Failuresjwt-none-alg, jwt-weak-secret, jwt-key-confusion, crypto-weak-hash, crypto-ecb-mode
A03 — Injectionsqli-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 Designrace-condition-basic
A05 — Security Misconfigurationxxe-basic, xxe-blind-oob, debug-enabled, cors-wildcard
A06 — Vulnerable and Outdated Componentscve-demo
A07 — Identification and Authentication Failuressession-fixation, weak-password-reset
A08 — Software and Data Integrity Failuresdeserialization-pickle, prototype-pollution, deserialization-node
A09 — Security Logging and Monitoring Failureslogging-failures-demo
A10 — Server-Side Request Forgery (SSRF)ssrf-basic, ssrf-blind-oob, ssrf-cloud-metadata

Target audience

Pentest students and AppSec learners who already know the basics of HTTP and the terminal, use (or are learning to use) Burp Suite, and want a focused lab where each exercise is short enough to finish in one sitting. The material is written for someone who will apply this in a pentest career — Burp is the primary tool, the UI is just context.

Running an atom

Each atom lives in its own folder under atoms/A0X-<category>/<atom-id>/ and ships with a docker-compose.yml. A root wrapper script, ./atom, drives them:

root@kitploit:~
./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

For example, to start the first atom:

root@kitploit:~
./atom up sqli-union-basic
# vulnerable → http://127.0.0.1:8001
# fixed      → http://127.0.0.1:8101

Every atom binds to 127.0.0.1 only. Never change that — these apps are intentionally broken.

Documentation

  • ROADMAP.md — ordered implementation plan and progress checklist.
  • CLAUDE.md — for contributors: project briefing, conventions, and ground rules.

License

Released under the MIT License. If you fork this repository for educational material, attribution is required.

Download Tool