7.9 KiB
Pentesting delle API Web
Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!
Altri modi per supportare HackTricks:
- Se vuoi vedere la tua azienda pubblicizzata su HackTricks o scaricare HackTricks in PDF Controlla i PIANI DI ABBONAMENTO!
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Scopri La Famiglia PEASS, la nostra collezione di esclusive NFT
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR a HackTricks e HackTricks Cloud github repos.
Usa Trickest 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_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=web-api-pentesting" %}
Sommario della Metodologia di Pentesting delle API
Il pentesting delle API coinvolge un approccio strutturato per scoprire vulnerabilità. Questa guida racchiude una metodologia completa, enfatizzando tecniche e strumenti pratici.
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. - API REST (JSON): La documentazione spesso si presenta in file WADL, ma strumenti come 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 Pratici
- 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: Eccellente per scoprire gli endpoint delle API. Usalo per scansionare e forzare i percorsi e i parametri contro le API di destinazione.
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: È uno strumento di sicurezza delle API che ispeziona la tua API basandosi su un file OAS (lo strumento è scritto in rust).
Risorse di Apprendimento e Pratica
- OWASP API Security Top 10: Lettura essenziale per comprendere le vulnerabilità comuni delle API (OWASP Top 10).
- API Security Checklist: Una checklist completa per proteggere le API (link GitHub).
- Logger++ Filters: Per la ricerca di vulnerabilità delle API, Logger++ offre filtri utili (link GitHub).
- API Endpoints List: Una lista curata di potenziali endpoint API per scopi di testing (gist GitHub).
Riferimenti
Usa Trickest 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_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=web-api-pentesting" %}
Impara l'hacking di 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!
- Ottieni il merchandising ufficiale PEASS & HackTricks
- Scopri The PEASS Family, la nostra collezione di esclusivi NFT
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud github repos.