
How to Pentest: Skip the Basics, Here's What You're Actually Getting Wrong
Your Pentest Isn't Failing Because of Tools — It's Failing Because of Method
In 2023, a bug bounty hunter found a $50,000 vulnerability in a major SaaS app. It wasn't an SQLi. It wasn't XSS. It was a broken business logic flaw in their billing API that let you upgrade any account to enterprise tier for free. No scanner on earth would've caught it.
That's the gap. Most guides on how to pentest obsess over tool setup. The actual skill gap is in methodology — knowing where to look, what to chain, and when to go manual.
The 5-Phase Method That Actually Works
Forget the bloated frameworks for a second. Here's a tight loop that finds real bugs:
- Scoping & Recon (40% of your time) — This is where most testers under-invest. Don't just run subdomain enumeration. Map the entire attack surface: API endpoints, JavaScript files, third-party integrations, and forgotten staging environments.
- Authentication & Authorization Testing — Test every role. Can a regular user hit admin API endpoints by changing a path or parameter? This is where IDOR vulnerabilities live.
- Input Handling — SQLi, XSS, SSRF, command injection. But don't just throw payloads blindly. Understand the data flow first.
- Business Logic — Can you skip steps in a checkout flow? Apply a discount twice? Transfer negative amounts? These require human reasoning.
- Post-Exploitation & Chaining — A low-severity info leak + a medium SSRF can equal full account takeover. Think in chains.
What People Get Wrong: Recon Depth
Most testers run subfinder and httpx, get a list of live hosts, and move on. That's surface-level. Here's what thorough recon actually looks like:
- Pull JavaScript files and grep for API keys, internal endpoints, and hardcoded secrets:
grep -rE "(api_key|secret|token|password)" *.js - Check
/.well-known/,/robots.txt,/sitemap.xml— boring, but they leak structure - Use the Wayback Machine (
gauorwaybackurls) to find endpoints that still resolve but aren't linked anywhere in the UI - Inspect response headers for server versions, framework hints, and misconfigurations
Spending 40% of your time on recon isn't laziness — it's how you find the attack surface others miss.
A Real Pattern: IDOR That Scanners Miss
Here's a vulnerable endpoint and why automated tools won't flag it:
GET /api/v1/invoices/1042
Authorization: Bearer <user_a_token>If changing 1042 to 1043 returns another user's invoice, that's an IDOR. Now here's the problem — a scanner sees a 200 OK response both times and has no idea the data belongs to someone else. It requires context about ownership.
The fix is server-side authorization:
invoice = Invoice.find(params[:id])
if invoice.user_id != current_user.id
render status: 403
endThis class of bug appears in the OWASP Top 10 as #1: Broken Access Control. It's the most common category, and it's almost entirely a manual testing problem.
Tools Are Assistants, Not Replacements
Use tools for coverage, not for thinking:
- Burp Suite — Intercept and replay every request. The repeater tab is where real pentesting happens.
- ffuf / feroxbuster — Directory and parameter brute-forcing. Use targeted wordlists, not generic ones.
- nuclei — Template-based scanning for known CVEs and misconfigs. Great for breadth, useless for logic bugs.
If you're running a web app and want to catch the low-hanging fruit before a manual pentest, tools like PreBreach can surface common vulnerabilities in minutes — but they complement manual testing, not replace it.
Your Next 3 Moves
- Audit one app you own this week. Pick a side project. Proxy every request through Burp. Change IDs, roles, and methods on every endpoint. You'll find something.
- Build a personal recon checklist. Write down every recon step from this post. Run through it consistently — methodology beats talent.
- Study real bug reports. Read disclosed reports on HackerOne Hacktivity. Pay attention to the chain of reasoning, not just the payload.