TGViewer
Пентестер на мотоцикле Пентестер на мотоцикле @hackerbiker · 1.08K subscribers
Post #39 1.04K
😈 Букет уязвимостей

Недавно на программе Bug Bounty несколько уязвимостей вместе позволили добиться вектора атаки с высоким уровнем критичности — CVSS 8.8.

Общая краткая суть в перехвате сеанса — Session Hijacking (A2:2017-Broken Authentication).

▎Будем разбирать данный вектор поэтапно:
➡️1) Первым делом нужно украсть cookie и данные из браузерного хранилища (local/session storages) жертвы. Сделать это проблем не составит, жертве достаточно будет перейти по ссылке атакующего, поскольку на сайте отсутствует атрибут HttpOnly, который предотвращает кражу cookie и local/session storages с помощью JavaScript (см. скриншоты).
➡️2) После того, как мы получили cookie и local/session storages вставляем их в свой браузер. Это можно сделать быстро с помощью браузерных расширений по типу Cookie-Editor и LocalStorage Editor. Теперь перезагружаем страницу и мы оказываемся в аккаунте жертвы. Веб-приложение уязвимо к такой атаке, поскольку оно полагается исключительно на данные, хранящиеся в браузере, для автоматической аутентификации пользователя, без дополнительной проверки пароля или других факторов аутентификации. На этом можно было и остановиться, поскольку цель уязвимости Session Hijacking достигнута, но я пошел дальше.
➡️3) Находясь в сессии пользователя (в данном случае в своем втором аккаунте, созданном для этой цели), я имею к ней полный доступ. Что нам мешает попробовать сменить почту или номер телефона? И тут еще один сюрприз: при смене этих данных веб-приложение запрашивает код подтверждения только из нового email/номера телефона, который я ввел, а не старого. По логике должно сначала быть наоборот. Тем самым еще помимо нарушения конфиденциальности и целостности нарушилась и доступность. Легальный пользователь не сможет зайти в свой аккаунт, поскольку логин будет без проблем сменён.
➡️4) Помимо всего этого, в аккаунте также можно заполнить адрес проживания и банковскую карту (её заполнить не пробовал, но не думаю, что данные карты были бы полностью видны).

▎Краткий итог:
➡️Нарушена конфиденциальность — доступ к аккаунту путём кражи сессии.
➡️Может быть нарушена целостность — поскольку есть полный доступ к аккаунту, злоумышленник может изменять какие-либо данные на аккаунте.
➡️Может быть нарушена доступность — есть возможность без проблем менять номер телефона или логин к аккаунту, которые являются логином для входа в аккаунт. Система не запрашивает код подтверждения на предыдущие реквизиты, а предлагает ввести код из новых введённых.

▎Рекомендации по исправлению:
✅Внедрить HttpOnly атрибут в веб-приложении, предотвращающий кражу cookie и local/session storages через JavaScript.
✅Внедрить CSP (content security policy) для большей защиты от вредоносных JS-скриптов.
✅Хранить токен следует в sessionStorage вместо localStorage, так как данные в sessionStorage очищаются при закрытии вкладки браузера, что снижает риск их утечки. Поэтому их копирование на другой браузер не сработает.
✅Реализовать механизм проверки подлинности сессии на стороне сервера. Например, использовать привязку сессии к IP-адресу или устройству пользователя. Это усложнит использование украденных cookie на другом устройстве.
✅Добавить обязательную проверку старого email или номера телефона при их смене. Код подтверждения должен отправляться как на старый, так и на новый адрес/номер, чтобы предотвратить несанкционированную смену данных.

Выплачивать отказались с пометкой "out-of-scope".

#bugbounty #кейс
  • 🔥 9
  • 👍 4
  • 👏 2
  • ❤ 1
More from @hackerbiker
  1. Jul 15, 2026Post #136
  2. Mar 4, 2026🔊 Вскрываем периметр по-крупному Последние пару недель РАД КОП много говорит про гигиену…
  3. Mar 3, 2026Представьте: в углу офиса мирно стоит принтер, печатает отчёты… а в это время через него к…
  4. Feb 26, 2026🤨 Документация из хаоса Инструмент был написан в рамках стажировки Digital Security автор…
  5. Feb 24, 2026Маленькое пополнение в нашей семье☺️ Теперь у меня свой блэчер, бойтесь
  6. Feb 17, 2026😈 Регистрация — оружие массового поражения Недавно на финтех-проекте во время тестировани…
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 →