Pular para o conteúdo

Web

Só no front

No portal da cooperativa Querencia, o diretório de membros tem um botão "Export all members" que só aparece para quem é admin. O código do navegador está em app.js, o código do servidor em server.js, e um oráculo offline em oracle.mjs.

Leia o app.js e veja qual pedido o botão escondido dispara. Depois leia o server.js: o botão some da tela para quem não é admin, mas a rota continua respondendo. Rode o oráculo fazendo esse mesmo pedido como um membro comum e pegue a flag na resposta.

O oráculo roda assim: node oracle.mjs "GET /api/members/export" member.

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

Arquivos do desafio

  • app.js

    950 B · SHA-256 ec11723aa42eae97…

    Baixar
  • server.js

    754 B · SHA-256 aeca286a06938f4c…

    Baixar
  • oracle.mjs

    1,9 KB · SHA-256 d86673fd9b39c930…

    Baixar

Exemplo resolvido

Este desafio vem com a solução em passos. Abra um de cada vez e tente o próximo sozinho antes de abrir. Cada passo aberto conta como ajuda no seu rating.

  1. Passo 1 Ache o pedido do botão

  2. Passo 2 Veja o que o servidor confere

  3. Passo 3 Faça o pedido como membro comum

  4. Passo 4 Leia a flag na resposta

Tudo se resolve com ferramentas gratuitas.