---
name: owasp_top10_manual_test
phase: 3_vulnerability_analysis
tools: [curl, burpsuite, python]
dependencies: [web_service_identified]
mitre_tactic: TA0001 (Initial Access)
---

# Objetivo
Realizar testes manuais e direcionados para as vulnerabilidades do OWASP Top 10 que ferramentas automatizadas frequentemente não detectam (ex: Broken Access Control, Business Logic Flaws, IDOR).

# Condições de Execução
- A aplicação web foi mapeada (diretórios e parâmetros conhecidos).
- O agente possui capacidade de interagir com a aplicação via requisições HTTP customizadas.

# Comandos e Sintaxe

## 1. Teste de IDOR (Insecure Direct Object Reference)
Identifique parâmetros que referenciam objetos (ex: `user_id=123`, `doc=456`) e tente acessar com IDs diferentes.
```bash
# Requisição original
curl -s -H "Cookie: session={session_token}" "https://{target_url}/api/user/123" -o {workspace}/idor_original.json

# Tentativa de IDOR
curl -s -H "Cookie: session={session_token}" "https://{target_url}/api/user/124" -o {workspace}/idor_test.json
diff {workspace}/idor_original.json {workspace}/idor_test.json
```

## 2. Teste de Broken Access Control (Privilege Escalation Vertical)
Tente acessar endpoints administrativos com um token de usuário comum.
```bash
curl -s -I -H "Cookie: session={low_priv_token}" "https://{target_url}/admin/dashboard" | head -n 1 | tee {workspace}/bac_test.txt
```

## 3. Teste de CORS Misconfiguration
Verifique se a aplicação aceita origens arbitrárias e retorna credenciais.
```bash
curl -s -I -H "Origin: https://evil.com" "https://{target_url}/api/data" | grep -i "Access-Control-Allow" | tee {workspace}/cors_test.txt
```

## 4. Teste de Host Header Injection (Cache Poisoning)
```bash
curl -s -I -H "Host: evil.com" "https://{target_url}/" | grep -i "evil.com" | tee {workspace}/host_injection.txt
```

# Análise de Resultados
- **IDOR bem-sucedido:** Se a resposta retornar dados de outro usuário, registre como vulnerabilidade de alto risco (Broken Access Control).
- **Acesso Administrativo:** Se o endpoint admin retornar 200 OK para usuário comum, registre como Privilege Escalation.
- **CORS Permissivo:** Se retornar `Access-Control-Allow-Origin: https://evil.com` e `Access-Control-Allow-Credentials: true`, registre como vulnerabilidade média/alta.

# Próximos Passos
- Se encontrar IDOR que permita modificação de dados (PUT/POST), tente alterar a senha de outro usuário.
- Registre todos os achados no Knowledge Graph para inclusão no relatório final.

# Tratamento de Erros
- Se a aplicação usar CSRF tokens, extraia o token da página anterior antes de enviar requisições POST/PUT.
- Se a sessão expirar, solicite ao usuário (ou use a skill de autenticação) para obter um novo token.
