CORS que confia em qualquer um
Normalmente, o navegador impede que o JavaScript de um site leia a resposta de outro domínio. O CORS é o conjunto de cabeçalhos com que a API diz quais origens têm permissão de ler as suas respostas. A API da Estância Pampa configurou isso de forma frouxa.
O cors-exchange.http mostra uma troca: a vítima, logada em pampa.test, abriu uma página em https://shady.test, e essa página fez o navegador pedir /api/me à API. Como a vítima está logada, o navegador mandou o cookie de sessão junto. Olhe os cabeçalhos da resposta e decida se o JavaScript de shady.test tem permissão de ler o corpo. Se tiver, pegue a chave que está nesse corpo. Ela vem em hexadecimal (prefixo hex:): decodifique o hex para obter a flag.
Responda no formato tocaia{...} com o valor já decodificado. Exemplo de forma (não é a resposta): tocaia{algum_valor}.
Arquivos do desafio
- Baixar
cors-exchange.http
629 B · SHA-256 8633c9cc477aa75c…
Tudo se resolve com ferramentas gratuitas.
Entre para ver o assunto deste desafio.
A solução comentada aparece depois que você resolve.