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

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

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

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

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

Категории

Все категории
Loading categories
some-tweak-to-hide-jwt-payload-values — Легковесная Python-библиотека для обфускации значений полезной нагрузки JWT с использованием XOR-шифрования на основе ключей с временными метками, предотвращающая декодирование в открытом виде конфиденциальных утверждений, таких как идентификаторы пользователей. | Kitploit
Инструменты/GitHubGitHub/password123456/some-tweak-to-hide-jwt-payload-values
Инструменты шифрования/дешифрованияАутентификацияОбучение и ОбразованиеБезопасность API
GitHubpassword123456/some-tweak-to-hide-jwt-payload-values

some-tweak-to-hide-jwt-payload-values

Легковесная Python-библиотека для обфускации значений полезной нагрузки JWT с использованием XOR-шифрования на основе ключей с временными метками, предотвращающая декодирование в открытом виде конфиденциальных утверждений, таких как идентификаторы пользователей.

Репозиторий

Популярное

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

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

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

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

Смотреть все инструменты →
Поделиться
102 лет назадЕщё не проверено

some-tweak-to-hide-jwt-payload-values

made-with-python Python Versions Hits

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

Что такое JWT токен?

JSON Web Token (JWT, произносится «джот») — это компактный и URL-безопасный способ передачи JSON-сообщения между двумя сторонами. Это стандарт, определённый в RFC 7519. Токен представляет собой длинную строку, разделённую точками на части. Каждая часть закодирована в base64 URL.

Состав частей зависит от типа JWT: JWS (подписанный токен) или JWE (зашифрованный токен). Если токен подписан, он состоит из трёх секций: заголовка, полезной нагрузки и подписи. Если токен зашифрован, он состоит из пяти частей: заголовка, зашифрованного ключа, вектора инициализации, зашифрованного текста (полезной нагрузки) и аутентификационного тега. Наиболее часто JWT используются в качестве токенов доступа и ID-токенов в процессах OAuth и OpenID Connect, но они также могут применяться для других целей.

Основная цель данного фрагмента кода

Этот код предлагает подход к повышению безопасности секции полезной нагрузки при декодировании JWT-токенов, где хранящиеся ключи видны в открытом виде. Обычно при декодировании JWT-токена (base64) секция полезной нагрузки отображается в виде обычного текста. Основная цель — слегка зашифровать или запутать значения полезной нагрузки, чтобы затруднить понимание их смысла. Намерение — гарантировать, что даже если кто-то попытается декодировать значения полезной нагрузки, он не сможет сделать это легко.

userid

  • В качестве примера фрагмент кода нацелен на ключ с именем «userid», хранящийся в секции полезной нагрузки.
  • Выбор «userid» обусловлен его частым использованием для идентификации или аутентификации пользователя после проверки действительности токена (например, что он не истёк).

Идея, лежащая в основе попытки скрыть значение ключа с именем «userid», заключается в следующем:

Шифрование:

  • Временная метка хэшируется, а затем шифруется путём выполнения побитовой операции XOR с идентификатором пользователя.
  • Операция XOR выполняется с использованием симметричного ключа.
  • Полученное значение затем кодируется с помощью Base64.

Расшифровка:

  • Зашифрованные данные декодируются с помощью Base64.
  • Расшифровка выполняется с помощью операции XOR с симметричным ключом.
  • Исходный идентификатор пользователя и хэшированная временная метка отображаются в виде обычного текста.
  • Часть с идентификатором пользователя извлекается путём разделения по разделителю «|» для соответствующего использования и целей.

Симметричный ключ для XOR-кодирования:

  • Для этого ключа могут использоваться различные материалы.
  • Это может быть соль, применяемая при обычном хэшировании паролей, произвольная случайная строка, сгенерированный UUID или любой другой подходящий материал.
  • Однако этот ключ должен быть безопасно сохранён в системе управления базами данных (СУБД).

и..^^

root@kitploit:~
in the example, the key is shown as { 'userid': 'random_value' },
making it apparent that it represents a user ID.

However, this is merely for illustrative purposes.

In practice, a predetermined and undisclosed name is typically used.
For example, 'a': 'changing_random_value'

Примечания

  • Этот фрагмент кода создан в образовательных целях и служит отправной точкой для идей, а не является надёжным решением.
  • Он обеспечивает уровень безопасности выше, чем видимость обычного текста, но не гарантирует абсолютной безопасности.

Попытка подделать JWT-токены, созданные с помощью этого метода, требует доступа как к секретному ключу JWT, так и к симметричному ключу XOR, используемому для создания UserID.

И...

  • Если вы находите это полезным, пожалуйста, поставьте «звезду»🌟 для поддержки дальнейших улучшений.

preview

root@kitploit:~
# python3 main.py

- Current Unix Timestamp: 1709160368
- Current Unix Timestamp to Human Readable: 2024-02-29 07:46:08

- userid: 23243232
- XOR Symmetric key: b'generally_user_salt_or_hash_or_random_uuid_this_value_must_be_in_dbms'
- JWT Secret key: yes_your_service_jwt_secret_key

- Encoded UserID and Timestamp: VVZcUUFTX14FOkdEUUFpEVZfTWwKEGkLUxUKawtHOkAAW1RXDGYWQAo=
- Decoded UserID and Hashed Timestamp: 23243232|e27436b7393eb6c2fb4d5e2a508a9c5c

- JWT Token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ0aW1lc3RhbXAiOiIyMDI0LTAyLTI5IDA3OjQ2OjA4IiwidXNlcmlkIjoiVlZaY1VVRlRYMTRGT2tkRVVVRnBFVlpmVFd3S0VHa0xVeFVLYXd0SE9rQUFXMVJYREdZV1FBbz0ifQ.bM_6cBZHdXhMZjyefr6YO5n5X51SzXjyBUEzFiBaZ7Q
- Decoded JWT: {'timestamp': '2024-02-29 07:46:08', 'userid': 'VVZcUUFTX14FOkdEUUFpEVZfTWwKEGkLUxUKawtHOkAAW1RXDGYWQAo='}


# run again
- Decoded JWT: {'timestamp': '2024-02-29 08:16:36', 'userid': 'VVZcUUFTX14FaRNAVBRpRQcORmtWRGleVUtRZlYXaBZZCgYOWGlDR10='}
- Decoded JWT: {'timestamp': '2024-02-29 08:16:51', 'userid': 'VVZcUUFTX14FZxMRVUdnEgJZEmxfRztRVUBabAsRZkdVVlJWWztGQVA='}
- Decoded JWT: {'timestamp': '2024-02-29 08:17:01', 'userid': 'VVZcUUFTX14FbxYQUkM8RVRZEmkLRWsNUBYNb1sQPREFDFYKDmYRQV4='}
- Decoded JWT: {'timestamp': '2024-02-29 08:17:09', 'userid': 'VVZcUUFTX14FbUNEVEVqEFlaTGoKQjxZBRULOlpGPUtSClALWD5GRAs='}

img

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