Ícone do Lab

Prototype Pollution Hunter

Você consegue poluir a cadeia de protótipos para quebrar a segurança da aplicação?

Desafio Atualizado em 21 jun. 2026 Solução (Pro)
Prototype Pollution Node.js Security API Security JavaScript Exploitation Object Manipulation Input Validation Bypass Modern Web Vulnerabilities

Esta API Node.js de ponta gerencia configuração de usuários com fusão sofisticada de objetos, mas uma falha sutil no tratamento de propriedades cria um vetor de ataque perigoso. Aplicações modernas dependem fortemente da manipulação dinâmica de objetos, tornando o prototype pollution uma das vulnerabilidades mais críticas em ambientes JavaScript. Domine esta técnica avançada de exploração e descubra como uma única propriedade maliciosa pode comprometer todo o modelo de segurança de uma aplicação!

1
Flags
50
XP
50%
Taxa de Sucesso

O prototype pollution é uma vulnerabilidade crítica de JavaScript que permite que atacantes modifiquem o protótipo de objetos base, potencialmente afetando todos os objetos de uma aplicação. À medida que aplicações web modernas dependem cada vez mais de frameworks JavaScript complexos e backends Node.js, entender o prototype pollution se tornou essencial para profissionais de segurança e desenvolvedores.

Como os protótipos JavaScript funcionam

JavaScript usa um modelo de herança baseado em protótipos. Todo objeto tem um link interno para outro objeto chamado seu protótipo, formando uma cadeia de protótipos que eventualmente leva ao Object.prototype. Quando uma propriedade é acessada em um objeto, o JavaScript primeiro verifica o próprio objeto, depois percorre a cadeia de protótipos até que a propriedade seja encontrada ou a cadeia termine. Este mecanismo de herança é poderoso, mas cria um risco de segurança significativo quando atacantes podem manipular a cadeia de protótipos.

Entendendo ataques de prototype pollution

O prototype pollution ocorre quando um atacante pode injetar propriedades no Object.prototype através de padrões de código vulneráveis. O vetor de ataque mais comum envolve funções de fusão recursiva de objetos ou cópia profunda que não sanitizam adequadamente as chaves de propriedades. Quando a entrada controlada pelo usuário contém chaves como __proto__ ou constructor.prototype, a operação de fusão escreve no protótipo ao invés do objeto alvo. Isso significa que todos os objetos da aplicação herdam as propriedades poluídas, potencialmente substituindo verificações de segurança, permitindo escalação de privilégios ou causando negação de serviço.

Impacto real do prototype pollution

Vulnerabilidades de prototype pollution foram descobertas em pacotes npm amplamente usados, incluindo lodash, jQuery e express-fileupload. Em ataques reais, o prototype pollution foi encadeado com outras vulnerabilidades para obter execução remota de código em aplicações Node.js. Cenários de exploração comuns incluem contornar autenticação poluindo propriedades isAdmin, manipular motores de template para obter execução de código no lado do servidor e envenenar objetos de configuração da aplicação. Pesquisadores de segurança e testadores de penetração devem entender como identificar e explorar prototype pollution para avaliar eficazmente aplicações JavaScript modernas.

O que você vai aprender

  • Compreender a herança baseada em protótipos do JavaScript e a cadeia de protótipos
  • Aprender como funções de fusão recursiva e cópia profunda criam vulnerabilidades de prototype pollution
  • Praticar a exploração de prototype pollution para contornar controles de acesso em APIs Node.js
  • Reconhecer chaves de propriedades perigosas como __proto__ e constructor.prototype
  • Estudar casos reais de prototype pollution e seu impacto em aplicações web

Pré-requisitos

JavaScript fundamentals Understanding of REST APIs Basic knowledge of Node.js and npm

Pronto para hackear este lab?

Crie uma conta gratuita e pratique cibersegurança.

Começar - É grátis
Comece Seu Desafio
~1-2 min de configuração
Servidor dedicado
Instância privada
Potência padrão
Novo aqui? Veja o que fazer
1
Clique em "Start Lab" acima Você receberá sua própria máquina com um endereço IP
2
Explore o alvo Abra o IP no seu navegador e procure vulnerabilidades
3
Encontre e envie as flags Flags são textos secretos escondidos no sistema - cole-os abaixo para pontuar

Pronto para hackear este lab?

Crie uma conta gratuita para iniciar seu próprio servidor dedicado, enviar flags e ganhar XP no ranking.

Começar a Hackear Grátis
13.000+ Hackers 100+ Labs & Cursos Grátis
Comece Grátis