# Pentesting delle API Web
Impara l'hacking di AWS da zero a eroe conhtARTE (Esperto Red Team AWS di HackTricks)!
Altri modi per supportare HackTricks:
* Se vuoi vedere la tua **azienda pubblicizzata su HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PIANI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* 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 [**NFT esclusivi**](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.
Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per creare e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Sommario della Metodologia di Pentesting delle API
Il pentesting delle API comporta un approccio strutturato per scoprire vulnerabilità. Questa guida racchiude una metodologia completa, enfatizzando tecniche pratiche e strumenti.
### **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 l'analisi e la generazione di 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.
### **Laboratori di Pratica**
* [**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 inaspettati o divulgazioni di informazioni.
* **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**: Eccellente per scoprire gli endpoint delle API. Usalo per scansionare e forzare i percorsi e i parametri contro le API di destinazione.
```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à.
### **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 la sicurezza delle API ([link GitHub](https://github.com/shieldfy/API-Security-Checklist)).
* **Filtri Logger++**: Per la ricerca di vulnerabilità delle API, Logger++ offre filtri utili ([link GitHub](https://github.com/bnematzadeh/LoggerPlusPlus-API-Filters)).
* **Elenco dei Punti di Accesso API**: Un elenco curato di potenziali punti di accesso API per scopi di testing ([gist GitHub](https://gist.github.com/yassineaboukir/8e12adefbd505ef704674ad6ad48743d)).
## Riferimenti
* [https://github.com/Cyber-Guy1/API-SecurityEmpire](https://github.com/Cyber-Guy1/API-SecurityEmpire)
Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) per costruire facilmente e **automatizzare flussi di lavoro** supportati dagli strumenti della comunità più avanzati al mondo.\
Ottieni l'accesso oggi:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
Impara l'hacking su AWS da zero a eroe conhtARTE (HackTricks AWS Red Team Expert)!
Altri modi per supportare HackTricks:
* 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 [**NFT esclusivi**](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) repository GitHub.