Iโve been training LLMs to recognise vulnerability chains and revisiting my favorite bug bounty reports to understand what patterns they can be taught to spot.
Letโs look at this example of a ticketing platform's booking flow that leaked millions of PII records.
This wasnโtย a zero-day or some sophisticated exploit, but a combination ofย 4 separate bugs that any decent scanner might find and file as Low/Medium severity.
However, in combination, potentially genuinely damaging.
โโโโโโโโโโโโโโโโโโโโ
Bug #๐ญ: ๐ง๐ต๐ฒ ๐๐๐๐ต๐ฒ๐ป๐๐ถ๐ฐ๐ฎ๐๐ถ๐ผ๐ป ๐๐ป๐ผ๐บ๐ฎ๐น๐ (medium severity)
Most of the ticketing platformโs site used cookies, but the booking API switched to a custom header for user identification. Whenever auth does something unexpected, you want to pay attention.
I was able to change the header to a different user's ID and see their data, although only partially, it was missing emails and other fields.
This bug demonstrated a routing issue, but incompletely.
โโโโโโโโโโโโโโโโโโโโ
Bug #๐ฎ: ๐ง๐ต๐ฒ ๐ฃ๐ฎ๐๐ต ๐ง๐ฟ๐ฎ๐๐ฒ๐ฟ๐๐ฎ๐น (medium severity)
The ticketing platformโs API ran on Apache, which handles file paths in specific ways.
I sent ../../../../api# as the header value - telling the server "go up four directories" and ignore everything after the #.
The response changed timing and structure. It worked, but blindly - I was moving through directories but couldn't see where.
This bug was confirmed exploitable, but I needed a way to make it meaningful.
โโโโโโโโโโโโโโโโโโโโ
Bug #๐ฏ: ๐ง๐ต๐ฒ ๐๐ฟ๐ฟ๐ผ๐ฟ ๐ ๐ฒ๐๐๐ฎ๐ด๐ฒ (low severity)
I sent an invalid user identifier to a different endpoint on the platform to see what would break.
The error response included: "self":"/api/<redacted>/;user={xxxxx}/profile"
This leaked the internal path structure - how the system organizes and stores user data.
โโโโโโโโโโโโโโโโโโโโ
Bug #๐ฐ: ๐ง๐ต๐ฒ ๐ฆ๐ฒ๐พ๐๐ฒ๐ป๐๐ถ๐ฎ๐น ๐๐๐ (informational)
While testing other endpoints, I noticed another identifier type in the responses, tied to accounts, not users.
These IDs were sequential: 3443123, 3443124, 3443125
โโโโโโโโโโโโโโโโโโโโ
๐๐ฟ๐ถ๐ป๐ด๐ถ๐ป๐ด ๐๐ ๐๐น๐น ๐ง๐ผ๐ด๐ฒ๐๐ต๐ฒ๐ฟ For Real Impact
Four findings. Four tickets. Different teams. Different severities. But combined, a major breach of PII.
Here's the chain:
X-User-ID: ../../../../api/<redacted>/;account=3443125/profile#
This combines:
โข Path traversal escapes the directory
โข Internal structure from the error maps the route
โข Sequential account ID replaces the random user ID
โข Access control weakness reads the data
The result: Full user profile is revealed: name, DOB, address, email, phone, and more. In other words, a Complete database enumeration.
โโโโโโโโโโโโโโโโโโโโ
๐ง๐ต๐ฒ ๐ฃ๐ฎ๐๐๐ฒ๐ฟ๐ป
A scanner may find these issues in isolation but can't see that Medium Medium Low Info = Critical breach.
This is the direction LLMs can work towards with the right context: models that recognize not just individual bugs, but the investigation paths that connect them.
#BugBounty #Security #VulnerabilityManagement