O Link Escondido: Lendo um Link Invisível no Código-Fonte
O desafio
Esta página de conta parece uma página de cliente comum. Mas a página entrega mais do que mostra: há um link no HTML configurado para ficar invisível. Abra o código-fonte, encontre o link escondido e envie o endereço da página para a qual ele aponta.
O que você vai aprender
- Abrir o código-fonte de uma página web pela primeira vez
- Entender que uma página envia mais dados ao navegador do que desenha na tela
- Encontrar um link configurado para ficar invisível no HTML
- Ler no código-fonte o endereço para onde um link aponta
- Explicar por que esconder algo na tela não o torna privado
Habilidades testadas
Pré-requisitos
- Saber clicar com o botão direito na página e escolher Ver código-fonte
- Noção básica de que endereços web têm o formato /algo
Como funciona
Quando você carrega uma página web, o servidor envia ao seu navegador um bloco de texto chamado HTML. O navegador lê esse texto e desenha a página que você vê. Mas ele não desenha tudo: um desenvolvedor pode marcar um elemento para ficar invisível, e o navegador simplesmente não o exibe. O elemento continua ali no texto - simplesmente não é mostrado.
Você pode ler o texto original de qualquer página abrindo o código-fonte (clique com o botão direito na página e escolha "Ver código-fonte da página", ou use o menu do navegador). Isso mostra o HTML exatamente como ele chegou, incluindo elementos que foram escondidos da visualização. Neste desafio há um link marcado como invisível que aponta para /admin-old, uma página antiga da equipe. Você nunca o vê na tela, mas ele está claramente ali no código-fonte.
A lição para iniciantes é simples e importante: tornar algo invisível na página é uma escolha de exibição, não uma forma de mantê-lo em segredo. Tudo o que compõe a página - links, textos, notas - viaja até o seu navegador e pode ser lido. Se uma página contém um link para uma área privada, escondê-lo não impede que alguém o encontre no código-fonte.
Erros comuns
- Olhar só para a página visível. Ler o que é desenhado na tela e supor que é tudo que a página contém.
- Achar que invisível significa apagado. Acreditar que um link escondido desapareceu, quando ele ainda está no HTML.
- Enviar o texto errado. Digitar a palavra exibida para o link em vez do endereço para onde ele aponta.
- Se perder no código-fonte. Ler rápido demais e não perceber o único link que não é desenhado na página.
Como se proteger
Não confie em esconder coisas na tela para mantê-las privadas. Se uma página ou área deve ser restrita, o servidor precisa realmente exigir permissão para acessá-la - não apenas deixar o link fora de visão.
- Remova links para páginas antigas ou internas das páginas públicas em vez de apenas escondê-los.
- Proteja páginas privadas no servidor para que recusem visitantes sem permissão, mesmo que alguém encontre o endereço.
- Desative páginas antigas como
/admin-oldem vez de deixá-las acessíveis. - Trate tudo no HTML como algo que qualquer um pode ler, porque pode mesmo.