NetCatTest

CatSuite

JWT e evidências no CatSuite: análise de API com contexto

Leia claims sem confundir decodificação e verificação. Relacione tokens às requests, classifique resultados e compartilhe evidências com cuidado.

Por Daniel Felipe 8 min leitura

Decodificar um JWT no CatSuite permite ler header e claims; isso não verifica a assinatura nem comprova uma falha de autenticação. Para uma análise útil, conecte o token ao contexto da request, à política esperada da API e à response observada. Guarde credenciais com cuidado e separe observação, hipótese e confirmação no relatório.

Guia publicado em 6 de outubro de 2026. A capa é uma ilustração conceitual original, não uma captura do aplicativo nem evidência de teste.

Este guia explica como usar Decodificar, Repetir e os achados das extensões para investigar identidade e organizar evidências no Android. Consulte a visão geral do CatSuite e o guia do módulo Decodificar para as operações disponíveis.

O que você está lendo em um token

Um JWT assinado no formato compacto JWS costuma apresentar três segmentos separados por ponto: header, payload e assinatura. Header e payload são codificados em Base64URL. Essa codificação permite representar bytes como texto e não mantém os dados secretos por si só. Um JWE tem outro formato e contém conteúdo criptografado, que não pode ser tratado como um payload JWS legível.

A RFC 7519 define o JWT e suas claims. O objetivo da inspeção inicial é entender o que foi declarado, sem assumir que o servidor confia nesses valores ou que a ferramenta já validou a assinatura.

Claims que ajudam a orientar a investigação

CampoPergunta útilCuidado na interpretação
algQual algoritmo está declarado no header?Declaração não prova o algoritmo efetivamente aceito pelo servidor
issQuem declara ter emitido o token?Precisa ser validado na política do destinatário
audPara qual destinatário ele foi emitido?APIs diferentes podem ter audiências diferentes
subQual identidade é representada?Pode não ser um ID público de usuário
expQual validade foi declarada?Precisa ser aplicada pelo servidor
nbfA partir de quando ele deve ser aceito?Verificar relógio e tolerância definida
jtiExiste identidade própria do token?Sua presença não comprova revogação

Claims específicas, como papel ou organização, dependem do contrato da aplicação. Um campo role legível não demonstra que a API autoriza ações diretamente a partir dele. Pode haver uma política independente no servidor.

Use dados fictícios para aprender o formato

Este header e payload são apenas um exemplo didático. Não acompanham uma assinatura válida, não representam uma sessão real e não devem ser usados como credencial. O valor de exp é ilustrativo e pode estar expirado quando o guia for consultado.

Código
{"alg":"RS256","typ":"JWT"}
Código
{
  "iss": "https://auth.aurora.test",
  "aud": "aurora-lab",
  "sub": "cliente-ficticio-001",
  "exp": 1791324000,
  "role": "cliente"
}

No CatSuite, abra Decodificar ou encaminhe um valor a partir da mensagem capturada. Escolha o formato adequado e confira se os segmentos estão completos. Preserve a request original de forma privada para não perder o contexto. Alterar o payload no editor não atualiza a assinatura com a chave do emissor.

Decodificação, verificação e aceitação são etapas diferentes

EtapaO que demonstraO que ainda falta
DecodificarO conteúdo representado pelos segmentos legíveisIntegridade e política de aceitação
Verificar assinaturaIntegridade perante uma chave e algoritmo aceitosEmissor, audiência, tempo e regras do destinatário
Observar aceitação na APIO comportamento daquela request e daquele contextoInterpretar se o acesso era permitido e qual foi o impacto

Um token pode ter assinatura válida e não servir para aquela API, por exemplo por audiência incorreta ou expiração. Também pode ser aceito para autenticação, mas não autorizar um objeto específico. A análise deve separar identidade, autorização e regra de negócio.

Para testes de acesso entre contas, use objetos e usuários preparados no ambiente de laboratório. O guia do Repetir apresenta uma matriz pequena para investigar autorização por objeto sem transformar a presença de um ID em conclusão de BOLA.

Não envie tokens a serviços de decodificação sem necessidade

Um bearer token pode conceder acesso a quem o possui. Copiá-lo para um site, issue ou ferramenta externa pode expor uma sessão. A análise local reduz esse compartilhamento, mas não torna screenshots, clipboard e arquivos exportados automaticamente inofensivos.

Guarde apenas o contexto necessário no relatório. Mostre o tipo de credencial e os campos relevantes, ocultando o valor operacional. Mesmo partes do token podem revelar identidade, organização ou dados pessoais. Um hash pode ajudar a relacionar evidências sem publicar o segredo, desde que o processo de coleta e a finalidade estejam claros.

Do candidato a segredo ao achado comprovado

Uma string com aparência de chave é um candidato, não uma credencial validada. Ela pode ser exemplo, material público, valor revogado ou identificador sem poder de autenticação. Registre onde apareceu e por que merece revisão. Não valide uma chave em um serviço externo fora do escopo.

ClassificaçãoEvidência adequadaExemplo de texto
ObservadoConteúdo presente na capturaHeader Authorization presente na request de laboratório
HipóteseSinal que exige teste adicionalIdentificador de objeto controlável pelo cliente
ConfirmadoComportamento indevido reproduzido e impacto definidoConta A recebeu os dados preparados para a conta B
LimitaçãoParte da análise não realizadaAssinatura JWT não verificada e body truncado

O CatSuite permite registrar achados com severidade, confiança, estado e evidências. Escolha a severidade a partir do impacto demonstrado. Não promova toda observação para alto risco apenas para destacar o relatório. O contrato de achados e dados apresenta os campos e a consolidação por fingerprint.

Uma ficha de evidência que permanece útil

Código
Objetivo: verificar autorização de leitura entre contas de laboratório
Ambiente: Aurora, homologação isolada
Conta utilizada: ana-lab
Objeto solicitado: pedido-202, preparado para bruno-lab
Alteração: somente o identificador do pedido
Request: referência privada da mensagem efetivamente enviada
Response: status, tipo de conteúdo e campos relevantes
Observação: descrever apenas o conteúdo realmente recebido
Conclusão: confirmado, hipótese ou inconclusivo, conforme o resultado
Limitações: relógio, truncamento, captura parcial ou condição não testada
Versões: aplicativo, extensão e revisão do fluxo quando aplicáveis

A ficha acima é um modelo de registro, não um resultado já encontrado. Preencha os campos com a observação real. Se o resultado for inconclusivo, explique qual verificação falta. Isso é mais útil para uma equipe de desenvolvimento do que uma afirmação genérica de que o endpoint parece inseguro.

Proteção, exportação e backup têm finalidades distintas

O cofre e os níveis de proteção ajudam a controlar o acesso ao material no aplicativo. Uma exportação de dados selecionados prepara informação para compartilhar; um backup portátil preserva conteúdo para recuperação. O backup pode conter material completo e precisa de proteção e guarda apropriadas.

Credenciais operacionais e pareamentos não devem ser publicados junto dos exemplos. Revise o conteúdo selecionado e confira a opção de evidências com dados sensíveis ocultados. Leia o guia de segurança, cofre e backups antes de escolher o formato e o destino do arquivo.

Se uma chave biométrica deixar de ser utilizável, a recuperação depende dos backups previstos no sistema. Teste seu procedimento com dados fictícios antes de depender dele para material importante. Proteção de acesso e capacidade de recuperação precisam ser planejadas juntas.

Como extensões ajudam sem exagerar a conclusão

O modelo de auditoria de identidade organiza etapas de JWT, candidatos a segredos e autorização. Ele ajuda a reunir sinais e contexto. Claims decodificadas continuam sem comprovação de assinatura; um identificador numérico continua hipótese de autorização até que um teste adequado demonstre o comportamento.

Você pode criar uma extensão com uma regra pequena e revisável, como a observação de cache apresentada no tutorial de plugins JavaScript. Depois conecte etapas usando fluxos visuais, preservando a origem dos dados e os limites de compartilhamento.

Perguntas frequentes sobre JWT no Android

Um JWT legível significa que está sem proteção?

Não necessariamente. Em JWS, o conteúdo é legível por projeto; a assinatura trata da integridade. Dados que exigem sigilo não devem depender apenas de Base64URL para proteção.

Encontrar role=admin confirma acesso administrativo?

Não. É um valor declarado. A confirmação depende da política e do comportamento do servidor com uma request adequada ao teste autorizado.

O relatório deve incluir o token inteiro?

Em geral, compartilhe uma representação ocultada e mantenha o original em evidência privada controlada quando necessário. Explicite a relação entre as duas versões e preserve apenas o que a finalidade do teste exige.

Próximo passo: uma análise com contexto

Instale o CatSuite, capture uma chamada do seu laboratório e conecte a leitura do token à comparação no Repetir. Para ampliar a rotina, consulte os guias de variações HTTP e documentação oficial. A meta é produzir uma conclusão que outra pessoa consiga reproduzir, com exposição mínima de dados.

Escrito por

Daniel Felipe é criador do NetCatTest e produz conteúdos sobre cibersegurança, privacidade digital, OSINT, laboratórios autorizados e ferramentas para estudo técnico responsável.

Compartilhar

Enviar este artigo