Web API Pentesting
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Usa Trickest per costruire e automatizzare flussi di lavoro alimentati dagli strumenti della comunità più avanzati al mondo. Accedi oggi:
Pentesting delle API implica un approccio strutturato per scoprire vulnerabilità. Questa guida racchiude una metodologia completa, enfatizzando tecniche e strumenti pratici.
SOAP/XML Web Services: Utilizzano il formato WSDL per la documentazione, tipicamente trovato 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.
REST APIs (JSON): La documentazione spesso si presenta in file WADL, ma strumenti come Swagger UI offrono 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 API che offre una descrizione completa e comprensibile dei dati nella tua API.
VAmPI: Un'API deliberatamente vulnerabile per esercitazioni pratiche, coprendo le 10 principali vulnerabilità API di OWASP.
SOAP/XML Vulnerabilities: 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.
Privilege Escalation: Testa gli endpoint con diversi livelli di privilegio per identificare possibilità di accesso non autorizzato.
CORS Misconfigurations: Indaga le impostazioni CORS per potenziali sfruttamenti attraverso attacchi CSRF da sessioni autenticate.
Endpoint Discovery: Sfrutta i modelli API per scoprire endpoint nascosti. Strumenti come i fuzzers possono automatizzare questo processo.
Parameter Tampering: Sperimenta con l'aggiunta o la sostituzione di parametri nelle richieste per accedere a dati o funzionalità non autorizzate.
HTTP Method Testing: Varia i metodi di richiesta (GET, POST, PUT, DELETE, PATCH) per scoprire comportamenti inaspettati o divulgazioni di informazioni.
Content-Type Manipulation: Passa tra diversi tipi di contenuto (x-www-form-urlencoded, application/xml, application/json) per testare problemi di analisi o vulnerabilità.
Advanced Parameter Techniques: 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.
Version Testing: Le versioni API più vecchie potrebbero essere più suscettibili ad attacchi. Controlla sempre e testa contro più versioni API.
kiterunner: Eccellente per scoprire endpoint API. Usalo per scansionare e forzare percorsi e parametri contro le API target.
Strumenti aggiuntivi come automatic-api-attack-tool, Astra e restler-fuzzer offrono funzionalità su misura per il testing della sicurezza delle API, che vanno dalla simulazione di attacco al fuzzing e alla scansione delle vulnerabilità.
Cherrybomb: È uno strumento di sicurezza API che audita la tua API basandosi su un file OAS (lo strumento è scritto in rust).
OWASP API Security Top 10: Lettura essenziale per comprendere le vulnerabilità comuni delle API (OWASP Top 10).
API Security Checklist: Un elenco completo per la sicurezza delle API (GitHub link).
Logger++ Filters: Per la ricerca di vulnerabilità API, Logger++ offre filtri utili (GitHub link).
API Endpoints List: Un elenco curato di potenziali endpoint API per scopi di testing (GitHub gist).
Usa Trickest per costruire e automatizzare flussi di lavoro alimentati dagli strumenti della comunità più avanzati al mondo. Accedi oggi:
Impara e pratica Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)