hacktricks/network-services-pentesting/pentesting-web/web-api-pentesting.md
2024-02-10 13:03:23 +00:00

7.6 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:

Usa Trickest per creare e automatizzare flussi di lavoro supportati dagli strumenti comunitari più avanzati al mondo.
Ottieni l'accesso oggi stesso:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Riepilogo 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 e strumenti pratici.

Comprensione dei tipi di API

  • Servizi Web SOAP/XML: Utilizzano 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.

  • API REST (JSON): La documentazione spesso viene fornita 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 interrogazione per le API che offre una descrizione completa e comprensibile dei dati nella tua API.

Laboratori di pratica

  • VAmPI: Un'API deliberatamente vulnerabile per la pratica pratica, che copre le 10 principali vulnerabilità delle API 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 diversi livelli di privilegio per identificare possibilità di accesso non autorizzato.

  • Misconfigurazioni CORS: Indaga sulle impostazioni CORS per potenziali sfruttabilità tramite attacchi CSRF da 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 l'aggiunta o la sostituzione dei parametri nelle richieste per accedere a dati o funzionalità non autorizzate.

  • 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 parsing o vulnerabilità.

  • Tecniche avanzate dei parametri: Testa con tipi di dati inaspettati nei payload JSON o gioca con i dati XML per le iniezioni XXE. Prova anche l'inquinamento 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. Verifica 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 percorsi e 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 degli attacchi al fuzzing e alla scansione delle vulnerabilità.

Risorse di apprendimento e pratica

  • OWASP API Security Top 10: Lettura essenziale per comprendere le comuni vulnerabilità delle API (OWASP Top 10).

  • API Security Checklist: Una checklist completa per la sicurezza delle API (link GitHub).

  • Logger++ Filters: Per la ricerca di vulnerabilità delle API, Logger++ offre filtri utili (link GitHub).

  • API Endpoints List: Una lista selezionata di potenziali endpoint delle API per scopi di testing (gist GitHub).

Riferimenti

Utilizza Trickest per creare e automatizzare facilmente flussi di lavoro con gli strumenti della community più avanzati al mondo.
Ottieni l'accesso oggi stesso:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks: