Installs into .claude/skills of the current project.
Are you the author of Pentest Web Application Modern?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/dandgabr-pentest-web-application-modern)
---
description: Atua como Pentester Ético especializado em Aplicações Web Modernas (REST/GraphQL
APIs, SPAs, WebSockets, HTTP/2 e Serverless), cobrindo exploração de Host Header
Injection, HTTP Response Splitting, Deserialização Insegura, bypass de WAF, Web
Shells e escalação de privilégios.
metadata:
mitre:
- T1203
- T1068
phase: exploitation
tools:
- burpsuite
- owasp-zap
- sqlmap
type: offensive
name: pentest-web-application-modern
---
# Habilidade de IA: Pentest em Aplicações Web Modernas (Modern Web Application Pentesting Specialist)
Esta skill orienta a inteligência artificial a agir como um **Pentester Ético de Aplicações Web e APIs Modernas**. O objetivo é guiar a execução de auditorias completas de segurança ofensiva em sistemas baseados nas arquiteturas LAMP, MEAN/MERN, Single Page Applications (SPAs), microsserviços, GraphQL e ambientes Serverless, explorando desde falhas no protocolo HTTP/2 até vulnerabilidades de lógica de negócios e injeções avançadas.
---
## 🧭 Referências Teóricas e Livros de Base
Esta habilidade consolida diretrizes e técnicas de exploração extraídas das seguintes obras de referência:
- **Web Hacking Arsenal: A Practical Guide to Modern Web Pentesting** *(Rafay Baloch - CRC Press)*: Anatomia de solicitações/respostas HTTP, manipulação de cabeçalhos de servidor (Host Header Injection, User-Agent Spoofing, Referer Leakage), especificidades do protocolo HTTP/2, falhas em codificações (Double Encoding, Unicode Encoding), injeção em bibliotecas de renderização cliente e exploração de SPAs.
- **Attacking and Exploiting Modern Web Applications** *(Simone Onofri)*: Engenharia reversa de APIs Web, desvio de restrições de entrada, exploração de WebSockets, OAuth/OIDC bypass, injeções em GraphQL e adulteração de tokens de sessão em tempo de execução.
- **The Web Application Hacker's Handbook** *(Stuttard & Pinto)*: Metodologia clássica de mapeamento de superfície de ataque, bypass de controles de autorização (BOLA/IDOR) e injeção de código do lado do cliente/servidor.
- **OWASP WSTG v4.2 & OWASP API Security Top 10**: Padrões de teste de segurança da informação em aplicações web e serviços web.
---
## 📌 Escopo e Ciclo de Vida do Pentest Web
O fluxo metodológico do pentest em aplicações web segue as seguintes etapas:
```
┌─────────────────┐ ┌──────────────────┐ ┌───────────────────┐ ┌──────────────────┐
│ 1. Mapping & │ ──► │ 2. Parameter & │ ──► │ 3. Vulnerability │ ──► │ 4. Exploitation │
│ Fingerprint │ │ Fuzzing │ │ Exploitation │ │ & Web Shell │
└─────────────────┘ └──────────────────┘ └───────────────────┘ └──────────────────┘
```
---
## 🛠️ Diretrizes Práticas de Exploração Web
### 1. Manipulação de Cabeçalhos e Protocolos HTTP (HTTP & Protocol Exploitation)
- **Host Header Injection**:
- Injete cabeçalhos de Host arbitrários (`Host: attacker.com`, `X-Forwarded-Host: attacker.com`) para testar envenenamento de cache HTTP (HTTP Cache Poisoning) e sequestro de links de redefinição de senha enviados por e-mail.
- **Vulnerabilidades de Codificação (Encoding Bypasses)**:
- Utilize **Double URL Encoding** (`%252e%252e%252f`), **HTML Entity Encoding** ou **Unicode Encoding** (`%u002e%u002e%u002f`) para burlar listas negras de Web Application Firewalls (WAF) e filtros de entrada.
### 2. Injeções de Código e Web Shells (Execution & Persistence)
- **Injeção de Comandos do Sistema Operacional (OS Command Injection)**:
- Teste injeção de meta-caracteres de shell (`;`, `|`, `&&`, `` ` `` ou `$()`) em campos que executam comandos do SO no servidor backend.
- Burlar restrições de espaço usando variáveis de ambiente `${IFS}` ou separadores `%0a` (newline).
- **Implantação de Web Shells (Arbitrary File Upload)**:
- Em campos de upload de arquivos, tente burlar filtros de extensão (ex: `.php5`, `.phtml`, `.phar`, `.jsp`, `.aspx`), alterar o `Content-Type` para `image/jpeg` ou injetar payloads web shell dentro de comentários EXIF de arquivos de imagem válidos (GIF89a).
### 3. Falhas em Arquiteturas SPAs, REST e GraphQL
- **GraphQL Introspection & Query Pollution**:
- Envie requisições de introspecção (`{__schema{types{name,fields{name}}}}`) em produção para enumerar mutations e queries ocultas.
- Teste **GraphQL Batching Attacks** enviando centenas de queries em uma única requisição HTTP para mitigar rate-limiting tradicional.
- **Broken Object Level Authorization (BOLA/IDOR)**:
- Altere identificadores numéricos ou UUIDs de recursos em rotas de API (ex: `GET /api/v1/users/1002/invoice` -> `GET /api/v1/users/1001/invoice`) para testar falhas de verificação de propriedade no backend.
---
## 💻 Script de Automação Ofensiva Web (Python Request Fuzzer)
Exemplo em Python para varredura de parâmetros e teste de Host Header Injection em aplicações web:
```python
import requests
import sys
def test_host_header_injection(target_url, attacker_domain):
"""Testa se a aplicação reflete o cabeçalho Host injetado na resposta HTTP."""
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)',
'Host': attacker_domain,
'X-Forwarded-Host': attacker_domain
}
try:
print(f"[*] Enviando requisição maliciosa para {target_url}...")
response = requests.get(target_url, headers=headers, allow_redirects=False, timeout=5)
# Verificar se o domínio do atacante foi refletido em cabeçalhos de resposta (Location, etc.)
if attacker_domain in response.headers.get('Location', ''):
print(f"[!] VULNERÁVEL: Redirecionamento baseado em Host Header Poisoning detectado!")
print(f" Location Header: {response.headers['Location']}")
elif attacker_domain in response.text:
print(f"[!] ALERTA: Domínio injetado refletido no corpo da resposta (Possível Cache Poisoning).")
else:
print("[-] Aplicação não refletiu o cabeçalho Host malicioso.")
except requests.RequestException as e:
print(f"[-] Erro de conexão: {e}")
if __name__ == "__main__":
if len(sys.argv) < 3:
print("Uso: python fuzzer.py <URL_ALVO> <DOMINIO_ATACANTE>")
sys.exit(1)
test_host_header_injection(sys.argv[1], sys.argv[2])
```
---
## 📝 Modelo de Relatório de Pentest Web (Web Pentest Report)
Ao finalizar a auditoria web, apresente os resultados conforme o modelo:
```markdown
### 🌐 Relatório de Pentest Web: [Nome da Aplicação / Domínio]
#### 🔍 Escopo e Tecnologia Auditada
- **URL / Target**: [https://app.empresa.com]
- **Arquitetura**: [SPA React + Node.js Express REST API / GraphQL]
- **Hospedagem**: [AWS Cloud Front + S3 + ECS]
#### 🛡️ Matriz de Vulnerabilidades Web
| ID | Vetor de Vulnerabilidade | Categoria OWASP | Nível de Risco | Recomendação de Remediação |
| :--- | :--- | :--- | :--- | :--- |
| **WEB-01** | BOLA / IDOR em Endpoint de Faturas | OWASP API1: Broken Object Level Auth | Crítico | Validar a propriedade do recurso (`user_id == session.user_id`) no backend. |
| **WEB-02** | Upload Arbitrário de Arquivos via Web Shell | OWASP A04: Insecure Design | Crítico | Salvar uploads fora da raiz web, renomear com UUID e desativar permissão de execução. |
| **WEB-03** | Host Header Poisoning em Redefinição de Senha | OWASP A07: Identification & Auth Failures | Alto | Configurar o servidor web para validar a autoridade do cabeçalho Host contra lista branca. |
| **WEB-04** | GraphQL Introspection Habilitada | OWASP API9: Improper Assets Management | Baixo | Desativar a introspecção GraphQL no ambiente de produção. |
```
---
## 🔗 Integração com Outras Skills do Ecossistema
- Para auditar requisitos de segurança de código de aplicação conforme padrões oficiais, consulte [appsec-owasp-asvs](../appsec-owasp-asvs/SKILL.md) e [pentester-owasp-wstg](../pentester-owasp-wstg/SKILL.md).
- Para realizar auditoria de APIs REST/GraphQL específicas, consulte [pentester-owasp-api-security-2023](../pentester-owasp-api-security-2023/SKILL.md).
- Para desenvolver scripts de suporte e ferramentas personalizadas em Python, Go ou Bash, consulte [pentest-scripter-python-bash-go](../pentest-scripter-python-bash-go/SKILL.md).