OwnedBox é uma plataforma de laboratórios onde você explora vulnerabilidades reais — SQL Injection, XSS e File Upload — em um ambiente controlado.
Plataforma de treinamento em segurança da informação construída em Laravel. Cada módulo apresenta uma aplicação propositalmente vulnerável: o objetivo é gerar uma vítima, explorar a falha, capturar o token de prova e validá-lo para concluir o laboratório. A interface acompanha o progresso de cada usuário.
Este projeto contém código intencionalmente vulnerável para fins educacionais. Use apenas em ambiente local/isolado. Nunca exponha esta aplicação na internet pública.
Cada laboratório expõe endpoints unificados de generate-victim e validate-token.
Injeção de SQL em formulário de login.
/sql
XSS refletido e via cookie.
/xss
Upload de arquivo sem validação.
/fileupload
Pré-requisitos: PHP 8.3+ (com pdo_sqlite, mbstring, openssl, xml), Composer 2 e Node.js 18+.
git clone https://github.com/<seu-usuario>/Ownedbox.git
cd Ownedbox
Instala dependências, cria o .env, gera a chave, roda as migrations e compila os assets.
composer run setup
Roda server + queue + logs + vite juntos. Acesse http://localhost:8000.
composer run dev
Caso prefira entender cada etapa em vez do composer run setup:
# Dependências PHP
composer install
# Crie o arquivo de ambiente
cp .env.example .env
# Gere a chave da aplicação
php artisan key:generate
# Crie o banco SQLite e rode as migrations
touch database/database.sqlite
php artisan migrate
# Dependências e build do frontend
npm install
npm run build
# Inicie o servidor
php artisan serve
O projeto já vem pronto para rodar com SQLite, sem configuração extra. As principais variáveis do .env:
APP_NAME=OwnedBox
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost:8000
# Banco padrão: SQLite (arquivo local, nada para configurar)
DB_CONNECTION=sqlite
# Sessão / cache / filas usam o banco
SESSION_DRIVER=database
CACHE_STORE=database
QUEUE_CONNECTION=database
Troque DB_CONNECTION e preencha DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME e DB_PASSWORD no .env.
composer run dev # server + queue + logs + vite
composer run test # roda a suíte de testes (PHPUnit)
php artisan migrate # aplica migrations
npm run dev # apenas o Vite em modo watch
./vendor/bin/pint # formata o código (estilo Laravel)