# Pentesting delle API Web
Impara l'hacking di AWS da zero a eroe con htARTE (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 con htARTE (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.