Pular para o conteúdo

Web

Sink no cliente

Os desafios anteriores dependiam de o servidor devolver a sua entrada. Aqui o servidor nem participa: o viewer.html carrega normal e o próprio JavaScript do cliente lê o que está depois do # no endereço (a fonte) e o coloca em innerHTML (o sink). Esse pedaço depois do #, o fragmento, nem chega a ser enviado ao servidor.

A página guarda window.staffToken (base64), legível por qualquer código que rode nela. Abra viewer.html, ponha no fragmento um payload que leia e mostre o staffToken, e decodifique: esse é o flag.

O flag tem o formato tocaia{...}. Um exemplo de mesma forma que NÃO é a resposta: tocaia{server_saw_it}.

Arquivos do desafio

  • viewer.html

    707 B · SHA-256 c4f2aeb6ec5ddc98…

    Baixar

Tudo se resolve com ferramentas gratuitas.