Desafio Segurança Web & API +50 XP

Button Activator

Esta aplicação web tem um botão misterioso que guarda a chave do sucesso, mas há um problema - ele está completamente desativado! Os desenvolvedores pensaram que eram espertos ao desativá-lo, mas restrições do lado do cliente raramente são tão seguras quanto parecem. Coloque suas habilidades de manipulação do navegador à prova e descubra como dar vida a este botão adormecido!

81% resolvem 32 hackers jogaram 1 flag Atualizado em 06 de out. de 2026 First blood iamwei
JavaScriptBrowser DevToolsDOM ManipulationClient-Side Security
Comece Seu Desafio
  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
  • 30 min por sessão. Reinicie de graça, quantas vezes quiser.

Controles de segurança no lado do cliente em aplicações web estão entre as primeiras coisas que testadores de segurança aprendem a contornar. Quando desenvolvedores usam JavaScript para desabilitar botões, ocultar campos de formulário ou restringir interações do usuário, eles criam uma falsa sensação de segurança. Esses controles existem apenas no navegador e podem ser trivialmente substituídos usando ferramentas de desenvolvedor integradas. Compreender a manipulação no lado do cliente é uma habilidade fundamental em segurança web.

Entendendo o DOM e os controles do lado do cliente

O Document Object Model (DOM) é a representação interna do navegador de uma página web. Todo elemento HTML - incluindo botões, formulários e campos de entrada - existe como um objeto no DOM que pode ser inspecionado e modificado em tempo real. Quando um desenvolvedor define o atributo disabled de um botão ou usa CSS para ocultar um elemento, essas restrições existem apenas no DOM e podem ser removidas ou alteradas por qualquer pessoa com acesso às ferramentas de desenvolvedor do navegador.

Restrições comuns do lado do cliente e como contorná-las

Aplicações web frequentemente implementam controles do lado do cliente como campos de formulário desabilitados, elementos ocultos, validação JavaScript, campos somente leitura e restrições de comprimento máximo. Cada um desses pode ser contornado usando o console de desenvolvedor do navegador. Por exemplo, remover um atributo disabled é tão simples quanto selecionar o elemento no painel Elements e excluir o atributo, ou executar um único comando JavaScript no console. Profissionais de segurança rotineiramente testam esses controles durante avaliações de aplicações web para verificar que a validação no lado do servidor aplica corretamente todas as restrições.

Por que a validação no lado do servidor é essencial

A regra fundamental da segurança web é que qualquer coisa que acontece no navegador pode ser manipulada pelo usuário. Controles do lado do cliente devem ser usados apenas para experiência do usuário - fornecendo feedback visual, prevenindo envios acidentais ou melhorando a usabilidade de formulários. Toda validação crítica de segurança deve acontecer no servidor, onde o usuário não pode modificar o código. Aplicações que dependem exclusivamente de controles do lado do cliente para segurança são vulneráveis a ataques de bypass triviais que não requerem ferramentas especializadas.

O que você vai aprender

  • Como o DOM do navegador representa elementos de uma página web
  • Uso das ferramentas de desenvolvedor do navegador para modificar atributos HTML e CSS
  • Restrições comuns do lado do cliente e como contorná-las
  • Técnicas de console JavaScript para manipulação do DOM
  • Por que a validação no lado do servidor é essencial para a segurança de aplicações web

Pré-requisitos

HTML e JavaScript básicos Navegador web com ferramentas de desenvolvedor Nenhuma experiência em programação necessária