Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
some-tweak-to-hide-jwt-payload-values — Librería Python ligera para ofuscar valores del payload JWT usando cifrado XOR con claves basadas en timestamp, evitando la decodificación en texto plano de claims sensibles como IDs de usuario. | Kitploit
Herramientas/GitHubGitHub/password123456/some-tweak-to-hide-jwt-payload-values
Herramientas de Cifrado/DescifradoAutenticaciónAprendizaje y EducaciónSeguridad de APIs
GitHubpassword123456/some-tweak-to-hide-jwt-payload-values

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

Librería Python ligera para ofuscar valores del payload JWT usando cifrado XOR con claves basadas en timestamp, evitando la decodificación en texto plano de claims sensibles como IDs de usuario.

Ver Repositorio

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
10hace 2 añosAún no revisado

algunos-ajustes-para-ocultar-valores-de-payload-jwt

made-with-python Python Versions Hits

  • Un puñado de ajustes e ideas para proteger el payload JWT, haciendo inútil intentar decodificarlo al alterar constantemente su valor,
    asegurando que la salida decodificada sea ininteligible mientras se impone una sobrecarga de rendimiento mínima.

¿Qué es un Token JWT?

Un JSON Web Token (JWT, pronunciado "jot") es una forma compacta y segura para URL de pasar un mensaje JSON entre dos partes. Es un estándar, definido en RFC 7519. El token es una cadena larga, dividida en partes separadas por puntos. Cada parte está codificada en base64 URL.

Las partes que tiene el token dependen del tipo de JWT: si es un JWS (token firmado) o un JWE (token cifrado). Si el token está firmado, tendrá tres secciones: el encabezado, el payload y la firma. Si el token está cifrado, constará de cinco partes: el encabezado, la clave cifrada, el vector de inicialización, el texto cifrado (payload) y la etiqueta de autenticación. Probablemente el caso de uso más común para los JWT es utilizarlos como tokens de acceso y tokens de ID en flujos OAuth y OpenID Connect, pero también pueden servir para otros propósitos.

Objetivo Principal de este Fragmento de Código

Este fragmento de código ofrece una perspectiva de ajuste destinada a mejorar la seguridad de la sección de payload al decodificar tokens JWT, donde las claves almacenadas son visibles en texto plano. Este fragmento de código proporciona una perspectiva de ajuste destinada a mejorar la seguridad de la sección de payload al decodificar tokens JWT. Normalmente, la sección de payload aparece en texto plano cuando se decodifica del token JWT (base64). El objetivo principal es cifrar u ofuscar ligeramente los valores del payload, dificultando la comprensión de su significado. La intención es asegurar que incluso si alguien intenta decodificar los valores del payload, no pueda hacerlo fácilmente.

userid

  • El fragmento de código se dirige a la clave llamada "userid" almacenada en la sección de payload como ejemplo.
  • La elección de "userid" se debe a su uso frecuente para identificación o autenticación de usuario después de validar la validez del token (por ejemplo, asegurando que no haya expirado).

La idea detrás de intentar ocultar el valor de la clave llamada "userid" es la siguiente:

Cifrado:

  • La marca de tiempo se hashea y luego se cifra realizando una operación XOR bit a bit con el ID de usuario.
  • La operación XOR se realiza utilizando una clave simétrica.
  • El valor resultante se codifica luego usando Base64.

Descifrado:

  • Los datos cifrados se decodifican usando Base64.
  • El descifrado se realiza mediante operación XOR con la clave simétrica.
  • El ID de usuario original y la marca de tiempo hasheada se revelan en texto plano.
  • La parte del ID de usuario se extrae dividiendo por el delimitador "|" para su uso y propósitos relevantes.

Clave Simétrica para Codificación XOR:

  • Se pueden utilizar varios materiales para esta clave.
  • Podría ser una sal utilizada en el hashing de contraseñas convencional, una cadena aleatoria arbitraria, un UUID generado o cualquier otro material adecuado.
  • Sin embargo, esta clave debe almacenarse de forma segura en el sistema de gestión de bases de datos (DBMS).

y..^^

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'

Notas

  • Este fragmento de código fue creado con fines educativos y sirve como punto de partida para ideas, más que ser inherentemente seguro.
  • Proporciona un nivel de seguridad más allá de la visibilidad en texto plano, pero no garantiza una seguridad absoluta.

Intentar manipular tokens JWT generados con este método requiere acceso tanto a la clave secreta del JWT como a la clave simétrica XOR utilizada para crear el UserID.

Y...

  • Si te resulta útil, por favor da una "estrella"🌟 para apoyar mejoras adicionales.

vista previa

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

Descargar herramienta