Quick answer: The best way to learn web hacking is to practice in legal, deliberately vulnerable environments. To start with real flaws, BBLABS; for free web theory, the PortSwigger Web Security Academy; for boot2root-style machines, Hack The Box and TryHackMe. Below you have 30+ options ordered by level and type, with what each one is good for.
How to choose where to practice (and not waste time)
There are dozens of platforms, but not all serve the same purpose. Before the list, three rules:
- Only practice in legal environments. Hacking a website without permission is a crime. Everything on this list is designed for you to attack it.
- Specialize by goal. If you want web bug bounty, prioritize web application and API labs, not Windows Active Directory machines.
- Go in difficulty order. Jumping to the hard stuff without foundations is the fastest way to get frustrated and quit.
Let's get to the platforms.
To start with real flaws
1. BBLABS — labs from real reports
I'll start with my own house because it solves the concrete problem of practicing web bug bounty with real cases: each BBLABS lab reproduces a vulnerability taken from a real public report, you launch it directly in the browser (no machines or Docker to set up) and you go through them in order with the hunter roadmap, from easy to hard without skipping fundamentals. If you're coming from scratch, combine it with the Learn bug bounty path. It's the most direct starting point if your goal is to report real bugs, not just solve academic challenges.
Web theory + guided labs (essential)
2. PortSwigger Web Security Academy
Free and possibly the best web theory resource out there. Made by the people behind Burp Suite. Labs by topic (SQLi, XSS, SSRF, JWT, race conditions...) with increasing difficulty. Essential.
3. Hack The Box (HTB)
The best-known platform of vulnerable machines. It has guided modules (Academy) and CTF-style machines. More oriented toward systems pentesting, but with a good web portion.
4. TryHackMe
The friendliest option to get started. Step-by-step guided rooms, many free, with explanations included. Ideal if you've never touched a terminal.
5. PentesterLab
Exercises very focused on web and code, with "badges" by topic. Excellent for understanding the why of each flaw, not just the how.
6. Root Me
French platform (also in English) with hundreds of short challenges by category: web, cryptography, steganography, forensics. Very good for quick sessions.
7. Hacker101 (HackerOne)
Videos + a free CTF from HackerOne. Solving its challenges can earn you invitations to private programs. Built specifically for bug bounty.
8. Bugcrowd University
Free training material from Bugcrowd: methodology, flaw types and reporting tips. Good for understanding how a platform thinks.
9. YesWeHack Dojo
Challenges from the European platform YesWeHack focused on specific web vulnerabilities. Useful and geared toward real bug bounty.
Deliberately vulnerable apps (self-hosted)
You set these up yourself (Docker or local) and break them without limits. Perfect for tinkering fearlessly:
10. OWASP Juice Shop
The quintessential modern vulnerable app (JavaScript). Dozens of challenges with a scoreboard. Maintained by OWASP.
11. DVWA (Damn Vulnerable Web Application)
The PHP/MySQL classic. Security levels (low/medium/high) to see how exploitation changes. Ideal for understanding SQLi and XSS from scratch.
12. OWASP WebGoat
Interactive OWASP lessons in Java. More didactic than Juice Shop, with built-in explanations.
13. bWAPP / bee-box
"Buggy Web Application": more than 100 catalogued vulnerabilities. A veteran but very complete reference.
14. OWASP Mutillidae II
A PHP app with flaws mapped directly to the OWASP Top 10. Good for practicing category by category.
15. Gin and Juice Shop (PortSwigger)
A vulnerable site designed to test scanners and practice recon on a realistic store.
Boot2root-style machines and CTFs
16. VulnHub
A huge repository of downloadable vulnerable machines (VMs) created by the community. Free. You set them up in VirtualBox and go for root.
17. picoCTF
Carnegie Mellon's educational CTF. Free, with beginner challenges. Very good for fundamentals.
18. OverTheWire (Bandit / Natas)
Wargames over SSH and web. Natas is the web series: you learn exploitation logic level by level. Bandit teaches you Linux.
19. HackThisSite
One of the oldest challenge sites. Missions of increasing difficulty, a veteran community.
20. CTFtime
Not a practice platform in itself, but the calendar of every CTF in the world. For when you want to compete in real team events.
21. CTFlearn
Permanent CTF challenges by category, with beginner difficulty. A good complement to picoCTF.
One-off web challenges (XSS, etc.)
22. Google XSS Game / Firing Range
Official Google challenges for understanding XSS step by step. Short and very didactic.
23. PwnFunction XSS Game
Modern, entertaining XSS challenges to sharpen your eye for payloads.
24. Intigriti — Monthly XSS challenge
Every month, Intigriti publishes a public XSS challenge. Excellent for practicing creative bypasses and comparing yourself with the community.
25. PortSwigger Web Security Academy ("expert" mode)
PortSwigger's expert-level labs (already mentioned) deserve a separate mention: race conditions, HTTP request smuggling, prototype pollution. State of the art.
APIs and GraphQL
26. crAPI (OWASP)
"Completely Ridiculous API": a vulnerable app focused on the OWASP API Security Top 10. Essential if you want to specialize in APIs.
27. VAmPI
A deliberately vulnerable API (Flask) to practice IDOR, broken authentication and more, at the endpoint level.
28. Damn Vulnerable GraphQL Application (DVGA)
For learning to attack GraphQL: introspection, injection, IDOR in resolvers. A niche with little competition in bug bounty.
29. APIsec University
Free courses on API security with labs included. Well-structured theory + practice.
Mobile, binary and "extra"
30. Metasploitable 2/3
A Linux VM full of vulnerable services. More about network/systems than web, but a mandatory reference for recon and service exploitation.
31. pwnable.kr / pwnable.tw
Binary exploitation (pwn) challenges. If you want to go beyond web toward binaries, start here.
32. Damn Vulnerable iOS App (DVIA) / InsecureBankv2
Vulnerable mobile apps for anyone who wants to get into Android/iOS bug bounty.
33. HackMyVM
Another source of boot2root-style machines, with a ranking and an active community. A fresh alternative to VulnHub.
Which one do I start with? (recommended path)
If the list overwhelms you, this is the order I recommend for web bug bounty:
- Web fundamentals: PortSwigger Web Security Academy (free) for the theory.
- Real-flaw pattern: BBLABS labs, in order with the roadmap.
- General fluency: TryHackMe or Hack The Box so you don't get rusty with the terminal.
- Specialization: crAPI/DVGA if you're going for APIs, the Intigriti/Google challenges if you're going for XSS.
- Time to report: once you recognize the patterns, jump to a real program. The base theory is in Learn bug bounty.
The key isn't how many platforms you touch, but practicing in order and consistently until the flaw jumps out at you on its own.
Frequently asked questions (FAQ)
Is it legal to practice on these sites?
Yes. Everything on this list is designed to be hacked or is our own lab. What's illegal is attacking third-party systems without a program or explicit permission.
Which is the best one to start from scratch?
For web theory, PortSwigger (free). For real flaws with nothing to set up, BBLABS. To get comfortable with the terminal, TryHackMe.
Free or paid?
There's a lot of free content (PortSwigger, picoCTF, Juice Shop, OverTheWire). The paid ones usually add guided paths, support and ordered content, which saves a lot of time when you're starting.
Does practicing labs help you make money in bug bounty?
It helps you recognize patterns, which is 80% of the job. The more the labs resemble real flaws (like report-based ones), the less distance there is between practicing and reporting for real.
Conclusion
You don't need to try all 30+: you need to pick three or four and be consistent. Start with the PortSwigger theory, train the pattern with labs based on real cases at BBLABS following the roadmap, and once the flaws feel familiar, make the jump to a real program with the base from Learn bug bounty. The difference between someone who practices and someone who gets paid isn't the platform: it's consistency.