The Insecurity Caused By Trusting Your Client-Side Storage
summary
Client-side stores like cookies localStorage and IndexedDB lead to persistent client-side XSS when developer code later writes those values into the DOM. The authors build a taint-tracking Chromium and an exploit candidate generator that records flows, crafts payloads and verifies them in browsers. Scanning top sites finds ~2,000 using client-side stores, 418 exploitable domains (30% of cookie flows 24% of localStorage flows) and a simple check finds 60 IndexedDB vulnerabilities validated end to end.
AI-written summary · about
chapters (16)
- 0:00Intro
- 3:02Cookies
- 4:21Web Storage
- 6:55What we are doing
- 8:55The tainted chromium
- 12:04Exploiting web applications
- 13:26Exploit patterns
- 15:40Attack vectors
- 20:30Demo
- 22:04IndexDB Credibility
- 24:23Exploitable Data
- 27:03JSON Objects
- 28:47Cold Cashing
- 30:20Solutions
- 32:49Host Names
- 34:00Conclusion
related talks
01h 01mClient-Side Protection Against DOM-Based XSS Done Right (tm)
40mClient-Side Protection Against DOM-Base...
41mDon't Trust The Locals: Exploiting Persistent ...
26mWhere Hackers Go Hunting: Frontend Storage Security
55mCall To Arms: A Tale of the Weaknesses of Current Client-Side XSS Filtering
23mJavaScript attack surface
42mEverything you need to know about client-side malicious code execution
34mJS Security - A Pentesters Perspective
