mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-12 14:22:56 +00:00
106 lines
7.6 KiB
Markdown
106 lines
7.6 KiB
Markdown
# Teste de Penetração em API Web
|
|
|
|
<details>
|
|
|
|
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
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**](https://github.com/sponsors/carlospolop)!
|
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
|
|
|
</details>
|
|
|
|
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
Use [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) 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](http://www.dneonline.com/calculator.asmx).
|
|
|
|
- **APIs REST (JSON)**: A documentação frequentemente vem em arquivos WADL, mas ferramentas como [Swagger UI](https://swagger.io/tools/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**](https://github.com/erev0s/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.
|
|
```bash
|
|
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](https://github.com/OWASP/API-Security/blob/master/2019/en/dist/owasp-api-security-top-10.pdf)).
|
|
|
|
- **API Security Checklist**: Uma lista abrangente para garantir a segurança de APIs ([link do GitHub](https://github.com/shieldfy/API-Security-Checklist)).
|
|
|
|
- **Filtros Logger++**: Para encontrar vulnerabilidades de API, o Logger++ oferece filtros úteis ([link do GitHub](https://github.com/bnematzadeh/LoggerPlusPlus-API-Filters)).
|
|
|
|
- **Lista de Endpoints de API**: Uma lista selecionada de endpoints de API potenciais para fins de teste ([gist do GitHub](https://gist.github.com/yassineaboukir/8e12adefbd505ef704674ad6ad48743d)).
|
|
|
|
|
|
## Referências
|
|
* [https://github.com/Cyber-Guy1/API-SecurityEmpire](https://github.com/Cyber-Guy1/API-SecurityEmpire)
|
|
|
|
|
|
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) 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" %}
|
|
|
|
<details>
|
|
|
|
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
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**](https://github.com/sponsors/carlospolop)!
|
|
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
|
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou nos siga no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Compartilhe seus truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
|
|
|
</details>
|