Aloha Store: aplicação CTF vulnerável para praticar pentest web

Banner Capture The Flag

Criando uma aplicação CTF para praticar exploração de vulnerabilidades web

Praticar segurança com desafios de CTF (Capture The Flag) é uma das formas mais eficazes de construir mentalidade de segurança — não só em times de desenvolvimento, mas em áreas de produto, design e dados também. Este artigo apresenta o Aloha Store, uma aplicação web propositalmente vulnerável, criada para praticar exploração de vulnerabilidades num ambiente controlado.

O projeto nasceu de uma prova que apliquei para meus alunos da faculdade FIAP — que já estavam carecas de explorar o OWASP Juice Shop — e hoje está aberto para qualquer pessoa da comunidade que queira treinar exploração de vulnerabilidades web.

Tecnologias utilizadas

A aplicação foi construída em Python, usando Flask e SQLite no backend, e Bootstrap para a interface. Todo o projeto roda empacotado em Docker, o que garante portabilidade e facilita a distribuição para quem for treinar.

Um exemplo de como as vulnerabilidades foram introduzidas de propósito — este trecho do backend está vulnerável a SQL Injection na rota de login:

Trecho de código Python/Flask vulnerável a SQL Injection: a query monta a string SQL diretamente com f-string, concatenando username e password sem parametrização
A rota de login monta a query SQL com f-string, sem parametrização — clássico caso de SQL Injection.

Dockerizando o projeto

Com um Dockerfile simples, o deploy funciona em qualquer ambiente que suporte Docker:

FROM python:3.9
WORKDIR /app
COPY requirements.txt requirements.txt
COPY . .
RUN pip install --no-cache-dir -r requirements.txt
EXPOSE 8080
CMD ["python", "alohastore.py"]

Publicando no Docker Hub

Depois de pronta, a imagem foi buildada e publicada no Docker Hub, para qualquer pessoa da comunidade usar para estudo:

# build da app
docker build -t jmessiass/aloha-store:latest .

# push para o Docker Hub
docker push jmessiass/aloha-store:latest

Vulnerabilidades e as 6 flags escondidas

A aplicação tem vulnerabilidades de injeção, exposição de informações sensíveis e outras falhas espalhadas pelas páginas — propositalmente fáceis de explorar, pensadas para quem está começando em testes de segurança web. Para quem já tem mais experiência, o desafio é achar as 6 flags no menor tempo possível.

Cada flag segue o formato FLAG{$FLAG-VULN}, e algumas delas podem ser encontradas por mais de um caminho de exploração.

Como rodar a aplicação

Basta ter o Docker instalado e em execução, e rodar o comando abaixo num terminal:

docker run -d -p 8080:8080 jmessiass/aloha-store:latest

Na primeira execução, o Docker baixa a imagem do Docker Hub automaticamente antes de subir o container. Depois é só acessar localhost:8080 no navegador:

Página inicial da aplicação Aloha Store rodando em localhost:8080, com menu Home, Sobre nós, Serviços, Portfolio e Contato
A Aloha Store rodando em localhost:8080 — a partir daqui é só sair caçando as flags.

Conclusão

Aplicações vulneráveis como essa existem aos montes por aí — algumas por falta de cuidado real das empresas, outras (como esta) criadas de propósito para treino. A ideia do Aloha Store foi mostrar o quão simples é montar um ambiente inseguro para praticar exploração em tecnologias específicas, com cada vulnerabilidade escondida atrás de uma flag.

Repositório no Docker Hub: hub.docker.com/r/jmessiass/aloha-store

Referências

Copyright 2026. Designed By B2SEC - Cyber Protection