bbc:02_sustaining_success
Table of Contents
Ch 2: Sustaining Your Success
Source: Bug Bounty Bootcamp by Vickie Li (No Starch Press, 2021)
Writing Good Reports
A report is how you get paid and build reputation. Bad writing = low payouts + duplicates marked invalid.
8-step report structure:
- Title – one sentence: vuln type + location + impact. Example: “Stored XSS in /profile/bio allows attacker to steal session cookies”
- Summary – 2-3 sentences. What is the bug, where is it, what can an attacker do?
- Severity – CVSS score + label (Critical/High/Medium/Low). Justify your rating.
- Steps to reproduce – numbered, exact, no assumptions. Another person must be able to reproduce with zero context.
- Proof of concept – screenshots, HTTP requests/responses, video. Show it working.
- Impact – explain real-world consequences. Who is affected? What data is exposed? What actions can be taken?
- Mitigations – suggest a fix. Not required but earns goodwill.
- Validate – test your own PoC before submitting. If it doesn't reproduce 100%, find out why first.
Report States
After submission you'll see one of these:
- Need more info – triage can't reproduce; provide more detail
- Informative – acknowledged but won't fix (low risk or by design); no payout
- Duplicate – someone reported it first; no payout
- Not applicable (N/A) – out of scope or not a valid vulnerability
- Triaged – accepted, being fixed; you'll get paid when resolved
- Resolved – fixed; payout issued
Handling Duplicates and N/As
- Duplicates happen. Don't be discouraged. Look at public disclosures to learn the pattern.
- If marked N/A and you disagree, respond professionally with additional impact evidence.
- Never argue aggressively – you need the relationship with the program.
Building Relationships
- Respond quickly when triage asks for clarification
- Be helpful: offer to verify the fix
- Keep communication professional even when payouts feel unfair
- Researchers with good reputations get private program invites
Why You're Failing
Common reasons beginners don't find bugs:
- Testing too shallow – only checking the obvious, not chaining small issues
- Only hunting well-known vulns – everyone tests the login page for SQLi; look where others don't
- Not understanding the application – you can't find logic bugs if you don't understand the intended workflow
- Giving up too fast – recon takes time; bug hunting requires patience
- Ignoring new features – new code = new bugs; watch changelogs and announcements
What to Do When Stuck
- Read public reports on HackerOne Hacktivity for the same target
- Look at the target's changelog/blog for new features
- Change your perspective: try a different user role, a different browser, mobile vs. desktop
- Take a break and come back with fresh eyes
- Switch targets temporarily and return later
Severity Quick Reference
| Severity | Examples |
| — | — |
| Critical | Account takeover, RCE, mass data exposure |
| High | Privilege escalation, significant data leak, auth bypass |
| Medium | CSRF, stored XSS (limited scope), IDOR (limited data) |
| Low | Reflected XSS, open redirect, minor info disclosure |
| Informative | Missing security headers, self-XSS |
bbc/02_sustaining_success.txt · Last modified: by drew
