A bug bounty researcher shares a detailed postmortem of finding a hardcoded RSA private key in a major crypto exchange's frontend JavaScript bundle. After validating the key with OpenSSL and successfully forging JWT tokens, the researcher submitted a report — only to have it rejected. The key turned out to be used only for logging, not authentication, and the researcher had guessed non-existent API endpoints rather than capturing real traffic. The writeup breaks down four key mistakes: guessing endpoints instead of discovering them via traffic interception, misreading HTTP 200 responses with error bodies as token acceptance, reporting theoretical impact without demonstrated proof, and over-engineering the report. Practical lessons include always capturing real API traffic before testing, proving impact with screenshots before reporting, and keeping reports concise.

9m read timeFrom infosecwriteups.com
Post cover image
Table of contents
Phase 1: JavaScript Recon (Where the Gold Hides)Phase 2: Validation — Is This Real?Phase 3: Can I Forge JWT Tokens With This?Phase 4: Where I Went Wrong

Sort: