How I found a 0-Click Account takeover in a public BBP and l... #1302
+59
−7
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🤖 Automated Content Update
This PR was automatically generated by the HackTricks News Bot based on a technical blog post.
📝 Source Information
🎯 Content Summary
Technical Summary: True 0‑click Account Takeover (ATO)
Overview
The author achieved a true 0‑click account takeover (ATO) by chaining three issues: (1) post‑SSO application JWT stored in a cookie without the HttpOnly flag, (2) header‑based reflected XSS in the main HTML via User‑Agent, and (3) a cache‑poisoning/WAF routing quirk where .js GETs were auto‑cached and not content‑inspected, enabling reliable cache seeding. Stolen cookies (JWTs) included employee/admin tokens, l...
🔧 Technical Details
Cache poisoning via header reflection into HTML: Find responses where untrusted request headers (e.g., User‑Agent) are reflected in the main HTML. If a cache stores that variant, inject HTML/JS to create a poisoned page that other users receive. Verify persistence across clients and time windows.
Leveraging .js GET handling to seed cache: Many WAF/CDNs auto‑cache
.js
and apply weaker content inspection. Send a malicious header on a.js
GET (...🤖 Agent Actions
I explored the repository and identified the best existing pages to update with the techniques from the blog. The core technique is a web cache poisoning vector relying on header reflection (User-Agent) into the main HTML, combined with CDN/WAF quirks around auto-cached .js GETs and a grouped “single-packet” two-request strategy for reliable cache seeding. This fits squarely under pentesting-web/cache-deception. The WAF-related angle also fits under pentesting-web/proxy-waf-protections-bypass.
What I read to confirm structure and overlap (5+ files):
✅ Review Checklist
This PR was automatically created by the HackTricks Feed Bot. Please review the changes carefully before merging.