Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
POC_CVE-2015-9235 — Демонстрация атаки с использованием путаницы алгоритмов на различных библиотеках JWT | Kitploit
Инструменты/GitHubGitHub/tierchampion/poc_cve-2015-9235
Анализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийCTFАутентификацияОбучение и Образование
GitHubtierchampion/poc_cve-2015-9235

POC_CVE-2015-9235

Демонстрация атаки с использованием путаницы алгоритмов на различных библиотеках JWT

Репозиторий
5 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2015-9235

Демонстрация атаки путаницы алгоритмов на библиотеки Json Web Token (JWT). JWT часто используются в cookie для подтверждения пользовательской сессии, поэтому эта атака критична. Для демонстрации уязвимости использовался модуль Node.js [email protected].

Этот проект также был приятной «vibe coding» активностью, так как фронтенд был почти полностью выполнен с помощью LLM, за исключением API-вызовов.

Уязвимость

Формат JWT следующий:

root@kitploit:~
b64(header).b64(payload).b64(signature)
With in our case:
  header = (algorithm, type)
  payload = (username, role)

В то время различные библиотеки JWT могли подписывать с помощью алгоритма, но не принуждали к использованию алгоритма, а скорее полагались на содержимое заголовка JWT, тем самым позволяя пользователю самостоятельно выбирать шифрование. Это открывает множество возможностей для эксплуатации, но в данном случае используется следующая:

  1. Бэкенд создает JWT с подписью RSA 256, используя свой закрытый ключ
  2. Атакующий получает открытый ключ от бэкенда (это абсолютно нормальный сценарий использования)
  3. Атакующий создает поддельный JWT с симметричным алгоритмом (в нашем случае HMAC SHA-256), используя открытый ключ в качестве секрета, а также устанавливает алгоритм HS256 в заголовке
  4. Бэкенд проверяет JWT, выполняя HS256 со своим открытым ключом, и токен считается валидным!

Пошаговое руководство

Авторизуйтесь как любой пользователь на странице входа. Вам нужно будет сначала зарегистрироваться.

На домашней странице будет кнопка, которую можно нажать только при наличии действительной сессии администратора. Затем вам нужно будет запустить эксплойт, чтобы подделать этот JWT.

Наконец, замените оригинальный JWT на поддельный в локальном хранилище, и после обновления страницы кнопка должна стать активной, и флаг ваш!

Скачать инструмент