Atua como Pentester Ético especializado em Aplicações Web Modernas (REST/GraphQL
Scanned 9/8/2026
Install to Claude Code
npx -y skills add dandgabr/skills --skill pentest-web-application-modern --agent claude-codeInstalls 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 automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/dandgabr-pentest-web-application-modern)More formats (shields.io, HTML) on the badges page.
---
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).
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!