Pular para o conteúdo

Web

A assinatura que ninguém confere

Agora o token vem assinado: ele tem o formato <payload em base64>.<assinatura em base64>, onde a assinatura é um HMAC do payload. Isso DEVERIA impedir que você mudasse o payload. Leia token-service.js: alguém escreveu uma função verify() correta e nunca a chamou. O servidor desserializa o payload e confia nele direto.

O token.txt é o seu token, com isAdmin igual a false. Troque para true, recodifique só a parte do payload e deixe a assinatura como está (ou qualquer coisa). Passe o token ao oráculo oracle.mjs, que faz o mesmo que o servidor: nunca confere a assinatura.

Formato: tocaia{...} em minúsculas. Exemplo com a mesma forma, que não é a resposta: tocaia{token_valido}.

Arquivos do desafio

  • token-service.js

    1,3 KB · SHA-256 27fd9169ecd380a6…

    Baixar
  • token.txt

    166 B · SHA-256 8218093b204f35bb…

    Baixar
  • oracle.mjs

    2,1 KB · SHA-256 18dac0bebc3142e9…

    Baixar

Tudo se resolve com ferramentas gratuitas.