hacktricks/network-services-pentesting/pentesting-web/web-api-pentesting.md

93 lines
7.9 KiB
Markdown
Raw Normal View History

2024-02-10 13:03:23 +00:00
# Pentesting delle API Web
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 13:03:23 +00:00
Altri modi per supportare HackTricks:
2023-12-31 01:24:39 +00:00
* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
2024-02-10 13:03:23 +00:00
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**La Famiglia PEASS**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>
<figure><img src="../../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
2022-06-06 22:28:05 +00:00
Usa [**Trickest**](https://trickest.com/?utm\_source=hacktricks\&utm\_medium=text\&utm\_campaign=ppc\&utm\_term=trickest\&utm\_content=web-api-pentesting) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
2022-06-06 22:28:05 +00:00
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=web-api-pentesting" %}
2022-06-06 22:28:05 +00:00
## Sommario della Metodologia di Pentesting delle API
2021-06-08 18:47:44 +00:00
Il pentesting delle API coinvolge un approccio strutturato per scoprire vulnerabilità. Questa guida racchiude una metodologia completa, enfatizzando tecniche e strumenti pratici.
2021-06-08 18:47:44 +00:00
### **Comprensione dei Tipi di API**
* **Servizi Web SOAP/XML**: Utilizza il formato WSDL per la documentazione, tipicamente trovata nei percorsi `?wsdl`. Strumenti come **SOAPUI** e **WSDLer** (Estensione di Burp Suite) sono fondamentali per analizzare e generare richieste. La documentazione di esempio è accessibile su [DNE Online](http://www.dneonline.com/calculator.asmx).
* **API REST (JSON)**: La documentazione spesso si presenta in file WADL, ma strumenti come [Swagger UI](https://swagger.io/tools/swagger-ui/) forniscono un'interfaccia più user-friendly per l'interazione. **Postman** è uno strumento prezioso per creare e gestire richieste di esempio.
* **GraphQL**: Un linguaggio di query per le API che offre una descrizione completa e comprensibile dei dati nella tua API.
2022-12-21 10:38:32 +00:00
### **Laboratori Pratici**
2022-12-21 10:38:32 +00:00
* [**VAmPI**](https://github.com/erev0s/VAmPI): Una API deliberatamente vulnerabile per la pratica pratica, che copre le prime 10 vulnerabilità API di OWASP.
### **Trucchi Efficaci per il Pentesting delle API**
* **Vulnerabilità SOAP/XML**: Esplora le vulnerabilità XXE, anche se le dichiarazioni DTD sono spesso limitate. I tag CDATA possono consentire l'inserimento di payload se l'XML rimane valido.
* **Elevazione dei Privilegi**: Testa gli endpoint con livelli di privilegio variabili per identificare possibilità di accesso non autorizzato.
* **Misconfigurazioni CORS**: Indaga sulle impostazioni CORS per potenziali sfruttabilità attraverso attacchi CSRF dalle sessioni autenticate.
* **Scoperta degli Endpoint**: Sfrutta i pattern delle API per scoprire endpoint nascosti. Gli strumenti come i fuzzers possono automatizzare questo processo.
* **Manipolazione dei Parametri**: Sperimenta aggiungendo o sostituendo parametri nelle richieste per accedere a dati o funzionalità non autorizzati.
* **Test dei Metodi HTTP**: Varia i metodi di richiesta (GET, POST, PUT, DELETE, PATCH) per scoprire comportamenti o divulgazioni di informazioni inaspettate.
* **Manipolazione del Tipo di Contenuto**: Passa tra diversi tipi di contenuto (x-www-form-urlencoded, application/xml, application/json) per testare problemi di analisi o vulnerabilità.
* **Tecniche Avanzate dei Parametri**: Testa con tipi di dati inaspettati nei payload JSON o gioca con i dati XML per iniezioni XXE. Prova anche la contaminazione dei parametri e i caratteri jolly per test più ampi.
* **Test delle Versioni**: Le versioni più vecchie delle API potrebbero essere più suscettibili agli attacchi. Controlla sempre e testa contro più versioni delle API.
### **Strumenti e Risorse per il Pentesting delle API**
* [**kiterunner**](https://github.com/assetnote/kiterunner): Eccellente per scoprire gli endpoint delle API. Usalo per scansionare e forzare i percorsi e i parametri contro le API di destinazione.
2024-02-08 21:36:15 +00:00
```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
```
* Strumenti aggiuntivi come **automatic-api-attack-tool**, **Astra** e **restler-fuzzer** offrono funzionalità personalizzate per il testing della sicurezza delle API, che vanno dalla simulazione di attacchi al fuzzing e alla scansione delle vulnerabilità.
* [**Cherrybomb**](https://github.com/blst-security/cherrybomb): È uno strumento di sicurezza delle API che ispeziona la tua API basandosi su un file OAS (lo strumento è scritto in rust).
2022-09-27 09:36:19 +00:00
### **Risorse di Apprendimento e Pratica**
* **OWASP API Security Top 10**: Lettura essenziale per comprendere le vulnerabilità comuni delle API ([OWASP Top 10](https://github.com/OWASP/API-Security/blob/master/2019/en/dist/owasp-api-security-top-10.pdf)).
* **API Security Checklist**: Una checklist completa per proteggere le API ([link GitHub](https://github.com/shieldfy/API-Security-Checklist)).
* **Logger++ Filters**: Per la ricerca di vulnerabilità delle API, Logger++ offre filtri utili ([link GitHub](https://github.com/bnematzadeh/LoggerPlusPlus-API-Filters)).
* **API Endpoints List**: Una lista curata di potenziali endpoint API per scopi di testing ([gist GitHub](https://gist.github.com/yassineaboukir/8e12adefbd505ef704674ad6ad48743d)).
2024-02-10 13:03:23 +00:00
## Riferimenti
2022-09-05 10:17:20 +00:00
* [https://github.com/Cyber-Guy1/API-SecurityEmpire](https://github.com/Cyber-Guy1/API-SecurityEmpire)
2022-04-28 16:01:33 +00:00
<figure><img src="../../.gitbook/assets/image (48).png" alt=""><figcaption></figcaption></figure>
2022-06-06 22:28:05 +00:00
Usa [**Trickest**](https://trickest.com/?utm\_source=hacktricks\&utm\_medium=text\&utm\_campaign=ppc\&utm\_term=trickest\&utm\_content=web-api-pentesting) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
2022-06-06 22:28:05 +00:00
{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=web-api-pentesting" %}
2022-06-06 22:28:05 +00:00
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 13:03:23 +00:00
Altri modi per supportare HackTricks:
2023-12-31 01:24:39 +00:00
* Se desideri vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusivi [**NFT**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>