HTML
Understand forms, iframes, document structure, and how application data moves through the page.
THE COMPLETE GUIDE / START HERE
Before you run the tools, understand the system. This is the path I'd give someone who wants enough foundation to know why a test works - not just what command to paste.
FOUNDATION / UNDERSTAND THE WEB
Hacking is not running tools. You need a mental model of how browsers, servers, networks, and application code communicate before anomalies mean anything.
Methods, headers, cookies, status codes, and the request/response model.
↗02TCP/IP, UDP, ports, the OSI model, firewalls, proxies, and VPNs.
↗03Lookups, records, resolution, subdomains, and the role DNS plays in attack surface discovery.
↗Understand forms, iframes, document structure, and how application data moves through the page.
Learn DOM manipulation, events, Fetch/AJAX, client-side validation, and how to read minified code for hidden functionality.
Get comfortable navigating files, permissions, processes, pipes, grep, find, chmod, and the command-line workflows security tools expect.
Add a scripting language. Python is versatile for automation and APIs; Go is excellent for concurrent recon tooling and modifying the modern security toolchain.
LEARNING PATH / PRACTICE
Once the fundamentals make sense, hands-on labs turn vocabulary into instinct. Start with PortSwigger's Web Security Academy, then use the OWASP Top 10 as a map - not a finish line.
RECON / FIND THE SURFACE
Gather enough context to see what is normal, then look for the asset, endpoint, or behaviour that does not fit the model.
Amass, Subfinder, Assetfinder - map the names before you map the application.
amass / subfinderhttpx, ffuf, crawling, and application navigation to uncover less obvious paths.
httpx / ffuf / katanaUse historical URLs to find deprecated endpoints and old application behaviour.
waybackSearch public code for forgotten endpoints, configuration, and other exposed clues.
githubConnect small tools into repeatable workflows. Scale only after you understand what the output means.
bash / python / goMORE SIGNAL / RESOURCES
WATCH / TWO USEFUL STARTING POINTS