Stored XSS Chain Earns $15,000 Bug Bounty
· 8:02 · Watch on YouTube ↗
Summary
A bug-bounty researcher describes bypassing a WAF to exploit stored XSS in an events app, then using an invitation flow and a CSP bypass to demonstrate account-takeover risk.
Key points
- The presenter says the finding earned a $15,000 bounty during a HackerOne live-hacking event.
- A request with the Content-Encoding gzip header bypassed WAF rules that had blocked the tested input.
- The stored XSS first affected the researcher’s own profile in the events application.
- Inviting an existing events user could cause the XSS to run when that user opened the page, creating a reported account-takeover path.
- A CSP bypass involved a customer-domain subdomain takeover and a hosted JavaScript file; the presenter says this part was not included in the recreated lab.
- The demonstration highlights risks when applications share sessions and profile data but handle input and security controls differently.
Article Details
- Topics
- [00:27] XSS, account-takeover risk, and learning from application behavior
- [01:46] Shared sessions and profile data across connected applications
- [02:57] Testing inputs and encountering WAF blocking
- [03:30] Bypassing WAF rules with a gzip request header
- [04:51] Stored self-XSS in the events application
- [05:49] Using event invitations to expose other users to the XSS
- [06:39] CSP bypass involving a subdomain takeover and hosted JavaScript
