Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
some-tweak-to-hide-jwt-payload-values — Biblioteca Python leve para ofuscar valores de payload JWT usando criptografia XOR com chaves baseadas em timestamp, impedindo a decodificação em texto simples de claims sensíveis como IDs de usuário. | Kitploit
Ferramentas/GitHubGitHub/password123456/some-tweak-to-hide-jwt-payload-values
Ferramentas de Criptografia/DescriptografiaAutenticaçãoAprendizado e EducaçãoSegurança de API
GitHubpassword123456/some-tweak-to-hide-jwt-payload-values

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

Biblioteca Python leve para ofuscar valores de payload JWT usando criptografia XOR com chaves baseadas em timestamp, impedindo a decodificação em texto simples de claims sensíveis como IDs de usuário.

Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
104há 2 anosAinda não revisado

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

made-with-python Python Versions Hits

  • um punhado de ajustes e ideias para proteger o payload do JWT, tornando inútil a tentativa de decodificação ao alterar constantemente seu valor,
    garantindo que a saída decodificada permaneça ininteligível enquanto impõe um impacto mínimo no desempenho.

O que é um Token JWT?

Um JSON Web Token (JWT, pronunciado "jot") é uma forma compacta e segura para URL de passar uma mensagem JSON entre duas partes. É um padrão, definido na RFC 7519. O token é uma longa string, dividida em partes separadas por pontos. Cada parte é codificada em base64 URL.

As partes que o token possui dependem do tipo de JWT: se é um JWS (um token assinado) ou um JWE (um token criptografado). Se o token for assinado, terá três seções: o cabeçalho, o payload e a assinatura. Se o token for criptografado, consistirá de cinco partes: o cabeçalho, a chave criptografada, o vetor de inicialização, o texto cifrado (payload) e a tag de autenticação. Provavelmente o caso de uso mais comum para JWTs é utilizá-los como tokens de acesso e tokens de ID em fluxos OAuth e OpenID Connect, mas eles também podem servir a diferentes propósitos.

Objetivo Principal deste Snippet de Código

Este snippet de código oferece uma perspectiva de ajuste que visa aumentar a segurança da seção de payload ao decodificar tokens JWT, onde as chaves armazenadas são visíveis em texto simples. Este snippet de código fornece uma perspectiva de ajuste com o objetivo de melhorar a segurança da seção de payload ao decodificar tokens JWT. Normalmente, a seção de payload aparece em texto simples quando decodificada do token JWT (base64). O objetivo principal é criptografar levemente ou ofuscar os valores do payload, dificultando a compreensão de seu significado. A intenção é garantir que mesmo que alguém tente decodificar os valores do payload, não consiga fazê-lo facilmente.

userid

  • O snippet de código tem como alvo a chave chamada "userid" armazenada na seção de payload como exemplo.
  • A escolha de "userid" decorre de seu uso frequente para identificação ou autenticação de usuários após validar a validade do token (por exemplo, garantir que não expirou).

A ideia por trás de tentar obscurecer o valor da chave chamada "userid" é a seguinte:

Criptografia:

  • O timestamp é hash e depois criptografado realizando uma operação XOR bit a bit com o ID do usuário.
  • A operação XOR é realizada usando uma chave simétrica.
  • O valor resultante é então codificado usando Base64.

Descriptografia:

  • Os dados criptografados são decodificados usando Base64.
  • A descriptografia é realizada por operação XOR com a chave simétrica.
  • O ID do usuário original e o timestamp hash são revelados em texto simples.
  • A parte do ID do usuário é extraída dividindo pelo delimitador "|" para uso e finalidades relevantes.

Chave Simétrica para Codificação XOR:

  • Vários materiais podem ser utilizados para esta chave.
  • Pode ser um salt usado em hashing de senha convencional, uma string aleatória arbitrária, um UUID gerado, ou qualquer outro material adequado.
  • No entanto, esta chave deve ser armazenada de forma segura no sistema de gerenciamento de banco de dados (SGBD).

e..^^

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 snippet de código foi criado para fins educacionais e serve como ponto de partida para ideias, não sendo intrinsecamente seguro.
  • Ele fornece um nível de segurança além da visibilidade em texto simples, mas não garante segurança absoluta.

Tentar adulterar tokens JWT gerados usando este método requer acesso tanto à chave secreta do JWT quanto à chave simétrica XOR usada para criar o UserID.

E...

  • Se você achar isso útil, por favor, dê a "estrela"🌟 para apoiar melhorias futuras.

pré-visualização

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

Baixar ferramenta