
Mongo Vulnub Lab...Tente hackear ISSO.....!
Desafio CTF - Mongoose RCE (CVE-2024-53900)
Visão Geral do Desafio
Este desafio Capture The Flag (CTF) é baseado no CVE-2024-53900, uma vulnerabilidade no Mongoose que permite Execução Remota de Código (RCE) devido ao uso inadequado do operador $where em consultas MongoDB.
Seu objetivo é explorar essa vulnerabilidade e recuperar a flag escondida dentro da aplicação!
Instruções de Configuração
1 Instalar Dependências Certifique-se de ter o Node.js instalado e então execute:
npm install
2 Configurar MongoDB
Instale o MongoDB e garanta que ele esteja em execução.
Crie um arquivo .env no diretório raiz com o seguinte conteúdo:
MONGO_URI=mongodb://localhost:27017/ctf_db
3 Iniciar o Servidor Execute o servidor Express vulnerável:
node server.js
O servidor iniciará em: http://localhost:3000
Objetivo do Desafio
Seu objetivo é contornar a autenticação e extrair a flag do endpoint vulnerável.
Endpoint Vulnerável:
POST /login
A aplicação usa uma consulta MongoDB insegura com $where, tornando-a vulnerável a injeção NoSQL e RCE.
Dica de Exploração:
Experimente payloads de injeção NoSQL para manipular a consulta.
Injete código JavaScript na condição $where.
Recupere a flag escondida na resposta.
Estrutura de Diretórios
│── public/ Frontend assets
│ ├── index.html CTF challenge UI
│ ├── style.css Styling for the challenge
│ └── script.js JavaScript for login request
│── .env Environment variables (MongoDB URI)
│── server.js Vulnerable Express.js server
│── package.json Dependencies & scripts
│── package-lock.json Lock file for dependencies
└── README.md Challenge guide (this file)
Condição de Vitória
Se você explorar a vulnerabilidade com sucesso, obterá a resposta:
Login Successful! Here is your flag: FLAG{**__****}