7.6 KiB
Teste de Penetração em API Web
Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!
Outras formas de apoiar o HackTricks:
- Se você deseja ver sua empresa anunciada no HackTricks ou baixar o HackTricks em PDF, confira os PLANOS DE ASSINATURA!
- Adquira o swag oficial PEASS & HackTricks
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-nos no Twitter 🐦 @carlospolopm.
- Compartilhe seus truques de hacking enviando PRs para os HackTricks e HackTricks Cloud repositórios do github.
Use Trickest para construir e automatizar fluxos de trabalho facilmente com as ferramentas comunitárias mais avançadas do mundo.
Tenha Acesso Hoje:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
Resumo da Metodologia de Teste de Penetração em API
Testar APIs envolve uma abordagem estruturada para descobrir vulnerabilidades. Este guia encapsula uma metodologia abrangente, enfatizando técnicas e ferramentas práticas.
Compreensão dos Tipos de API
-
Serviços da Web SOAP/XML: Utilize o formato WSDL para documentação, geralmente encontrado em caminhos
?wsdl
. Ferramentas como SOAPUI e WSDLer (Extensão do Burp Suite) são instrumentais para analisar e gerar solicitações. A documentação de exemplo está acessível em DNE Online. -
APIs REST (JSON): A documentação frequentemente vem em arquivos WADL, mas ferramentas como Swagger UI fornecem uma interface mais amigável para interação. Postman é uma ferramenta valiosa para criar e gerenciar solicitações de exemplo.
-
GraphQL: Uma linguagem de consulta para APIs que oferece uma descrição completa e compreensível dos dados em sua API.
Laboratórios de Prática
- VAmPI: Uma API deliberadamente vulnerável para prática prática, cobrindo as 10 principais vulnerabilidades de API da OWASP.
Truques Eficazes para Teste de Penetração em API
-
Vulnerabilidades SOAP/XML: Explore vulnerabilidades XXE, embora as declarações DTD sejam frequentemente restritas. Tags CDATA podem permitir a inserção de payloads se o XML permanecer válido.
-
Escalação de Privilégios: Teste endpoints com diferentes níveis de privilégio para identificar possibilidades de acesso não autorizado.
-
Configurações Incorretas de CORS: Investigue as configurações CORS para explorabilidade potencial por meio de ataques CSRF a partir de sessões autenticadas.
-
Descoberta de Endpoints: Aproveite os padrões da API para descobrir endpoints ocultos. Ferramentas como fuzzers podem automatizar esse processo.
-
Manipulação de Parâmetros: Experimente adicionar ou substituir parâmetros em solicitações para acessar dados ou funcionalidades não autorizados.
-
Teste de Método HTTP: Varie os métodos de solicitação (GET, POST, PUT, DELETE, PATCH) para descobrir comportamentos inesperados ou divulgações de informações.
-
Manipulação de Tipo de Conteúdo: Alterne entre diferentes tipos de conteúdo (x-www-form-urlencoded, application/xml, application/json) para testar problemas de análise ou vulnerabilidades.
-
Técnicas Avançadas de Parâmetros: Teste com tipos de dados inesperados em payloads JSON ou brinque com dados XML para injeções XXE. Além disso, tente poluição de parâmetros e caracteres curinga para testes mais amplos.
-
Teste de Versão: Versões mais antigas da API podem ser mais suscetíveis a ataques. Sempre verifique e teste contra várias versões da API.
Ferramentas e Recursos para Teste de Penetração em API
- kiterunner: Excelente para descobrir endpoints de API. Use-o para escanear e forçar caminhos e parâmetros contra APIs-alvo.
kr scan https://domain.com/api/ -w routes-large.kite -x 20
kr scan https://domain.com/api/ -A=apiroutes-220828 -x 20
kr brute https://domain.com/api/ -A=raft-large-words -x 20 -d=0
kr brute https://domain.com/api/ -w /tmp/lang-english.txt -x 20 -d=0
- Ferramentas adicionais como automatic-api-attack-tool, Astra e restler-fuzzer oferecem funcionalidades personalizadas para testes de segurança de API, que vão desde simulação de ataques até fuzzing e varredura de vulnerabilidades.
Recursos de Aprendizado e Prática
-
OWASP API Security Top 10: Leitura essencial para entender vulnerabilidades comuns de API (OWASP Top 10).
-
API Security Checklist: Uma lista abrangente para garantir a segurança de APIs (link do GitHub).
-
Filtros Logger++: Para encontrar vulnerabilidades de API, o Logger++ oferece filtros úteis (link do GitHub).
-
Lista de Endpoints de API: Uma lista selecionada de endpoints de API potenciais para fins de teste (gist do GitHub).
Referências
Use Trickest para construir facilmente e automatizar fluxos de trabalho com as ferramentas comunitárias mais avançadas do mundo.
Tenha Acesso Hoje:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!
Outras formas de apoiar o HackTricks:
- Se você deseja ver sua empresa anunciada no HackTricks ou baixar o HackTricks em PDF, confira os PLANOS DE ASSINATURA!
- Adquira o swag oficial PEASS & HackTricks
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou nos siga no Twitter 🐦 @carlospolopm.
- Compartilhe seus truques de hacking enviando PRs para os repositórios do HackTricks e HackTricks Cloud.