Muito Fácil Segurança Web & API +50 XP

Secrets in Source 2: contornar a segurança por obscuridade

A SecureVault apostou seus segredos na segurança por obscuridade, desativando o clique direito, bloqueando o DevTools e adicionando scripts de detecção. Contorne cada bloqueio do lado do cliente, leia o código-fonte que tentaram esconder e capture a flag.

82% resolvem 3.266 hackers jogaram 1 flag Atualizado em 22 de out. de 2026 First blood Malekith
Client-Side SecuritySecurity Through ObscurityBrowser DevToolsView SourceInformation DisclosureBroken Access Control
Comece Seu Desafio

Inicie sua máquina dedicada para começar a hackear

  1. 1Crie uma conta grátis e clique em "Iniciar Lab"Você receberá sua própria máquina com um endereço IP
  2. 2Explore o alvoAbra o IP no seu navegador e procure vulnerabilidades
  3. 3Encontre e envie as flagsFlags são textos secretos escondidos no sistema - cole-os abaixo para pontuar
  • ~1-2 min de configuração
  • Instância privada

Controles de segurança do lado do cliente são um dos equívocos mais persistentes no desenvolvimento web. Quando um site tenta proteger seu código-fonte desativando o clique direito, bloqueando atalhos de teclado ou detectando ferramentas de desenvolvedor, ele está praticando segurança por obscuridade: uma falsa sensação de segurança que um usuário experiente contorna em segundos. Entender por que esses controles falham importa tanto para desenvolvedores que podem confiar neles por engano quanto para profissionais de segurança que os encontram durante avaliações.

O que é segurança por obscuridade?

Segurança por obscuridade é a prática de depender do sigilo de um projeto ou implementação como proteção principal, em vez de um controle de acesso real. Esconder um arquivo atrás de uma URL impossível de adivinhar, minificar JavaScript ou bloquear o menu de contexto são todos exemplos. A informação continua lá; apenas ficou um pouco mais difícil de ver. No momento em que alguém olha além da obscuridade, a proteção desaparece, e é por isso que ela é tratada como uma fraqueza, e não uma defesa.

Por que proteções do lado do cliente sempre falham

O princípio que torna toda proteção do lado do cliente ineficaz é simples: qualquer código, dado ou conteúdo entregue a um navegador está sob o controle total do usuário. O JavaScript que desativa o clique direito é desfeito desativando o JavaScript. Scripts de detecção de DevTools são contornados com outros métodos de depuração. A interceptação do teclado falha quando a mesma ação está disponível através de um menu do navegador, um bookmarklet ou uma extensão. O navegador é o software do usuário, não do servidor.

Técnicas de "proteção" comuns incluem sobrescrever o evento contextmenu para bloquear o clique direito, interceptar eventos de tecla para Ctrl+U, F12 e Ctrl+Shift+I, usar uma instrução debugger para congelar o DevTools, observar o tamanho da janela para adivinhar se o DevTools está aberto, e ofuscar scripts para dificultar a leitura. Cada uma dessas técnicas tem vários contornos documentados.

Como este lab funciona

Este lab prático da HackerDNA coloca você em um site institucional arrogante e "seguro" e pede que você leia o código-fonte que ele se esforça para esconder. Você pratica os contornos que um testador realmente usa: o esquema view-source: que mostra o HTML bruto antes de os scripts rodarem, ferramentas de linha de comando como curl e wget que nunca executam JavaScript, e simplesmente desligar o JavaScript. Um desenvolvedor deixou um comentário apontando para um arquivo que esqueceu de proteger, então você o segue, requisita o arquivo diretamente e captura a flag, aprendendo information disclosure e broken access control no caminho.

Por que isso importa

Reconhecer a segurança por obscuridade é uma habilidade essencial de segurança web. Segredos, credenciais e lógica de negócio pertencem ao servidor, atrás de autenticação e autorização reais. Tudo o que é enviado ao navegador deve ser tratado como público, porque é. Pratique identificar esse erro aqui na HackerDNA antes de encontrá-lo em um trabalho real.

O que você vai aprender

  • Compreender por que controles de segurança do lado do cliente são fundamentalmente ineficazes
  • Aprender múltiplas técnicas para contornar a prevenção de clique direito e DevTools
  • Dominar métodos alternativos para acessar código-fonte de páginas web
  • Reconhecer a diferença entre segurança por obscuridade e proteção real
  • Desenvolver pensamento crítico sobre onde os controles de segurança devem ser implementados

Pré-requisitos

Compreensão básica de HTML e JavaScript Familiaridade com navegadores web e ferramentas de desenvolvedor Conclusão de um desafio introdutório de inspeção de código-fonte