Axeploit
← Back to posts

Anatomy of a Bug Bounty Payout: What a $30K Report Actually Looks Like

By Pallavi M

Most bug bounty discussions start with the wrong question.

People ask: what vulnerability class pays the most? The answer to that question produces a list RCE, authentication bypass, account takeover that is technically accurate and practically useless. Knowing that remote code execution earns high payouts tells you approximately nothing about how to find remote code execution, how to demonstrate it convincingly, or how to write about it in a way that results in a payout rather than a triage response that says "cannot reproduce."

The better question is: what does a high-value report actually contain, and why does each component matter to the security team reading it?

This is that question, answered in detail.

A $30,000 bug bounty report is not primarily about a spectacular vulnerability. There are spectacular vulnerabilities that earn $500 because the report is incomplete, unverified, or impossible to reproduce without significant effort from the triager. And there are relatively unglamorous authorization failures that earn $25,000 to $40,000 because the researcher documented the impact precisely, built a clean proof of concept, and framed the business consequences in terms the security team's management could act on.

The payout is a function of two things: the severity of the vulnerability, and the quality of the report demonstrating that severity. Most researchers optimize heavily for the first and underinvest in the second. This piece is about both.

The Vulnerability Class That Earns $30K

Before getting to report construction, it is worth being specific about which vulnerability classes actually reach the $30,000 range in major programs.

Remote code execution on production infrastructure is the canonical answer. An RCE that allows arbitrary command execution on a server handling production traffic earns the highest payouts in virtually every major program $20,000 to $100,000+ depending on the scope and the organization. But RCE is also the hardest category to find and increasingly rare on mature surfaces that have been running bug bounty programs for several years.

The category that produces $20,000 to $40,000 payouts with more reliable frequency and the one that is directly relevant to API-heavy SaaS platforms is critical authentication and authorization failure. Specifically:

Account takeover through authentication bypass. If you can demonstrate that an attacker can gain access to an arbitrary victim account without knowing their credentials through a logic flaw in the authentication flow, a predictable or brute-forceable token, a verification step that can be skipped, or an OTP implementation that leaks the code in the response that is a critical severity finding on nearly every major program. Account takeover at scale, where the technique works against any user account, not just a specific edge case, is consistently in the $15,000 to $40,000 range.

IDOR with sensitive data access or account modification. Broken Object Level Authorization that allows an authenticated user to read or modify another user's private data financial records, personal information, internal documents, configuration settings earns payouts proportional to the sensitivity of the data and the scale of the impact. An IDOR on a financial platform's transaction records is worth substantially more than an IDOR on a public profile field. Researchers who understand this prioritize finding IDOR on the endpoints that hold the most sensitive data, not just any endpoint with a sequential identifier.

Business logic flaws with financial or operational impact. These are harder to describe generically because they are specific to the application's functionality. A payment flow that can be manipulated to purchase a paid product for free, an authorization logic gap that allows a free-tier user to access enterprise features, a subscription bypass that grants permanent access after cancellation these earn significant payouts because the business impact is direct and quantifiable.

What the $30K Report Is Actually Made Of

Take a specific scenario. A security researcher call them the researcher is testing a mid-sized SaaS platform with an active bug bounty program. The program's scope includes all authenticated API endpoints under api.[target].com. Maximum payout for critical severity is $35,000.

The researcher creates two accounts: Account A (their primary test account) and Account B (a victim account with artificially seeded sensitive data in a safe test environment, using data the researcher controls).

While proxying their authenticated session through Burp Suite and navigating through the account dashboard, they notice that the API call to retrieve subscription billing history uses a subscription_id parameter that appears to be a sequential integer rather than a UUID. The value in their own session is 8841.

They modify the parameter to 8840 in a repeater request, keeping their own session token. The response returns the billing history including payment method last four digits, billing address, and invoice amounts for a different account. They test 8839, 8842, 8843. All return billing data for other accounts.

This is a textbook IDOR Broken Object Level Authorization on a financial data endpoint. The endpoint correctly authenticates the user. It does not verify that the authenticated user is authorized to access the requested subscription record.

Now the researcher has a finding. What they do next determines whether this earns $2,000 or $30,000.

Part One: The Proof of Concept

The proof of concept is the single most important component of a high-value bug bounty report. Not the vulnerability description. Not the impact section. The PoC.

A PoC that a triager can execute and reproduce in under ten minutes without asking clarifying questions is the difference between a report that gets paid the same week and one that sits in triage for three weeks while the team tries to figure out what you are describing.

The gold standard PoC for an API vulnerability includes:

Exact HTTP requests. Not "modify the parameter and observe the response." The literal, complete HTTP request method, headers including the Authorization token, full URL, complete request body exactly as it should be sent. Curl commands are ideal. Burp Suite request blocks pasted verbatim are acceptable.

Exact HTTP responses. The complete response demonstrating the vulnerability status code, relevant headers, full response body with the sensitive data present. Do not summarize. Show the actual output. The triager needs to see what you saw without interpreting your description.

Two accounts, clearly labeled. Account A is the attacker account your credentials, your session token. Account B is the victim account the account whose data is being accessed without authorization. The PoC should be reproducible by a triager who creates both accounts fresh. Do not use real victim accounts. Create test accounts with seeded data that demonstrates the impact cleanly.

Step-by-step reproduction. Numbered. One action per step. No assumed knowledge. The triager may not be a senior security engineer. Write reproduction steps that a competent developer could follow without security expertise.

Video walkthrough for complex chains. If the vulnerability requires more than five steps to reproduce, a short screen recording demonstrating the complete flow is worth including. It eliminates ambiguity and signals professionalism to the triage team.

Part Two: Demonstrating Scale

A single IDOR on a billing endpoint would likely earn in the $3,000 to $8,000 range as a medium-to-high severity finding if demonstrated against one account. The researcher in this scenario earns $30,000. The difference is scale.

After confirming the vulnerability against two controlled test accounts, the researcher takes one additional step: they demonstrate that the parameter range is enumerable at scale.

They do not actually enumerate real user data that would violate the program's rules of engagement and is ethically unacceptable. Instead, they demonstrate enumeration potential. They test twenty sequential IDs from a range that can reasonably be inferred to include real accounts. They include in the report the result: all twenty return valid billing records. They calculate, based on the sequential ID they can observe in their own account, a rough lower bound on the total number of accounts potentially affected.

This is the escalation that moves a medium IDOR to a critical IDOR. The vulnerability is not "an attacker can access one specific account's billing history." The vulnerability is "an attacker can systematically access every account's billing history through simple enumeration." The scope of impact changes the severity classification and, with it, the payout.

The lesson here applies broadly: when you find an IDOR or any object-level authorization failure, the second question after "does this work?" is always "how broadly does this work?" Can it be applied to every user? Can it be automated? Does it affect all subscription tiers or only specific account types? Does it work from a free account, or does it require a paid account? The answers to these questions determine whether your finding is a localized edge case or a systemic authorization failure.

Part Three: The Business Impact Frame

Technical accuracy is necessary. It is not sufficient.

Bug bounty reports are read by security engineers. They are triaged by security engineers. But the payout decision especially for findings above $10,000 frequently involves a conversation between the security team and management, legal, or the CISO. That conversation does not happen in technical terms. It happens in business terms.

A high-value report anticipates that conversation and frames the finding's impact in language that travels well up the org chart.

The impact section of a strong report does three things:

States the attack scenario in plain terms. Not "BOLA vulnerability allows unauthorized access to subscription records via enumerable integer IDs." Instead: "An attacker with a free account on [platform] can access the complete billing history, payment method information, and billing address of every other user on the platform by iterating through sequential subscription identifiers. No special access, privileges, or technical sophistication beyond a standard HTTP client is required."

Connects to regulatory and legal exposure. Payment data, even partial card numbers, falls under PCI-DSS scope. Personal billing addresses are PII under GDPR, CCPA, and most other privacy frameworks. A vulnerability that exposes this data at scale is not just a security finding it is a regulatory exposure. Naming that explicitly in the impact section gives the security team language for the escalation conversation.

Quantifies the affected population where possible. "Based on the sequential subscription ID observed in our test account (8841), a conservative estimate suggests at least 8,000 accounts contain enumerable billing records within the observed ID range." This is an approximation, clearly labeled as such, that gives the security team a scope figure for their incident assessment.

The combination of these three elements concrete attack scenario, regulatory framing, and affected population estimate is what transforms a technical finding into a business priority. That transformation is what earns a response time measured in hours rather than weeks, and a payout decision that reflects the full severity of what you found.

Part Four: The Report Structure Itself

Vulnerability quality and PoC quality are the two most important variables. Report structure is the third, and it matters more than researchers typically appreciate.

Triage teams at major programs process dozens of reports per day. A report that front-loads the critical information title, severity, one-sentence summary, reproduction steps gets read and understood faster. A report that buries the vulnerability description in three paragraphs of background context, then describes the PoC in vague terms, then attaches screenshots that require interpretation, is slower to triage and creates friction that reduces both response time and payout speed.

The structure that consistently earns efficient triage looks like this:

Title: Specific, accurate, non-hyperbolic. "IDOR on /v2/billing/history Allows Enumeration of All Users' Payment Records" is better than "Critical Vulnerability Exposes All User Data." The title should tell a senior engineer what the finding is before they open the report.

Severity claim with justification: Your assessment of the CVSS score or severity tier, with a one-sentence justification. Not all programs weight researcher severity assessments heavily, but providing one signals that you understand the scoring methodology and have made a considered judgment.

Summary: Two to four sentences. Vulnerability class, affected endpoint, impact in plain terms, exploitability with a free account (if applicable). This is the executive summary. It should stand alone.

Vulnerability details: The technical description what the endpoint does, what the expected behavior is, what the actual behavior is, why it constitutes an authorization failure.

Proof of concept: As described above. Complete, reproducible, step-by-step.

Impact: As described above. Concrete scenario, regulatory exposure, affected population estimate.

Suggested remediation: Optional but valuable. Showing that you understand how to fix the vulnerability in this case, server-side authorization checks that verify the requesting user's ownership of the requested subscription record before returning it demonstrates technical depth and makes the report more actionable for the engineering team.

What Separates the Reports That Lose

For every $30,000 report, there are dozens of reports about the same vulnerability class that earn nothing or earn a fraction of what they could have.

The most common failure modes, in order of frequency:

Incomplete reproduction steps that require triager interpretation. If the triager has to guess at any step, the report goes back to you with questions. Every round trip adds days. Some programs have response time limits that can expire before the back-and-forth resolves. Write the reproduction steps so that no interpretation is required.

No actual proof of vulnerable behavior. "I believe this endpoint is vulnerable to IDOR" without demonstrating the actual unauthorized access is not a valid bug report it is a hypothesis. Programs pay for demonstrated vulnerabilities, not theories.

Out-of-scope findings submitted without reading the program rules. Major programs are specific about their scope. Subdomains, staging environments, third-party integrations, and specific vulnerability classes are frequently excluded. Submitting an out-of-scope finding wastes your time and the triager's.

Impact statements that overstate the finding. "This allows a complete takeover of the platform" for a finding that allows read access to billing records is an overclaim that damages your credibility with the triage team. Programs are staffed by experienced security engineers who know the difference. Accurate impact statements earn more trust and faster resolution than hyperbolic ones.

Duplicate findings submitted without novelty. High-traffic programs have extensive existing finding inventories. Before spending significant time documenting a finding, it is worth testing whether the vulnerability has a recent analog in the program's disclosed reports. A duplicate earns nothing regardless of report quality.

The Researcher Side and the Defender Side

Everything in this piece is written from the researcher's perspective — how to find, prove, and report a vulnerability that earns a significant payout. But there is a direct translation to the defender's side of the same problem.

Every component of a strong bug bounty report is a precise description of what your security testing process should be catching before the researcher does.

The IDOR on the billing endpoint should have been found by an authenticated security scanner testing object-level authorization across the API surface. The enumeration potential should have been identified by a scan that specifically tests whether sequential identifiers are exploitable across user boundaries. The authentication flow vulnerabilities that earn account-takeover payouts should have been caught by testing that exercises the full authentication and verification logic including OTP handling, email verification, and session token strength not just confirming that a login endpoint exists.

The gap between "a researcher found this in a few hours of manual testing" and "our security process should have found this before it reached production" is the gap that bug bounty programs exist to fill. They fill it reactively, after the vulnerability is already in production, after it has been discoverable by anyone with the right methodology.

The alternative catching the BOLA vulnerability during pre-production testing, before the endpoint ships, before the researcher or the attacker gets to it requires a testing process that is authentication-aware, that covers the full endpoint surface continuously, and that tests authorization logic at the object level. Not just whether the endpoint requires authentication, but whether it correctly constrains what each authenticated user is allowed to access.

That is the discipline that closes the gap between what bug bounty hunters find and what security teams should have caught first.

Closing: The $30K Report Is a Specification

Read a high-quality bug bounty report from HackerOne's disclosed reports, from Bugcrowd's public submissions, from any of the dozens of write-ups security researchers publish and you are reading a specification for a security failure.

It tells you exactly what class of vulnerability was present, exactly how it was found, exactly how it was exploited, exactly what data was exposed, and exactly what authorization check was missing that allowed the exploitation to occur. It is, in this sense, the most actionable security document an engineering team ever receives because it comes with a working proof of concept and a precise remediation target.

The irony is that the same specification, produced by an internal security testing process rather than an external researcher, would have been worth far more than the payout. A bug bounty payout is the cost of letting the vulnerability reach production. Catching it in staging costs a fraction of that and eliminates the exposure window entirely.

The $30,000 report describes a failure. The goal is to make sure your process is thorough enough that someone else doesn't write it for you.

Axeploit is the internal testing tool that catches what external researchers would otherwise find first. Its AI agents authenticate with your application the way a real security researcher does completing registration flows, handling OTP verification, navigating through your application as a legitimate user and then scan your full API surface across 7,500+ known vulnerabilities, including the BOLA and authorization bypass findings that produce the highest bug bounty payouts. It runs continuously, integrates into your CI/CD pipeline, and delivers findings in staging, before they become five-figure payouts in production. For bug bounty hunters, it serves as a force multiplier automating the initial reconnaissance and endpoint mapping that enables faster discovery of the high-value findings that manual testing can then verify and document. Either way, the vulnerabilities get found. The question is whether your process finds them first.

Integrate Axeploit into your workflow today!