
Analizza documenti OpenAPI in Burp Suite per automatizzare le valutazioni di sicurezza delle API basate su OpenAPI (approvato da PortSwigger per l'inclusione nel loro BApp Store ufficiale).
[!AGGIORNAMENTO] Questa estensione è stata aggiornata per utilizzare la più recente Burp Montoya Java API. L'estensione è stata completamente rivista per migliorare sia l'
UI/UXche le prestazioni. Queste modifiche garantiscono che l'estensione sia moderna e ottimizzata per l'uso.
Burp Suite progettata per il test di API basate su OpenAPILa specifica
OpenAPI(OAS) definisce una descrizione standard dell'interfaccia, indipendente dal linguaggio di programmazione, per leAPIREST, che consente sia agli umani che ai computer di scoprire e comprendere le capacità di un servizio senza richiedere l'accesso al codice sorgente, documentazione aggiuntiva o ispezione del traffico di rete. Quando definita correttamente tramiteOpenAPI, un consumatore può comprendere e interagire con il servizio remoto con una quantità minima di logica di implementazione. Simile a quanto le descrizioni delle interfacce hanno fatto per la programmazione a basso livello, la specificaOpenAPIelimina le congetture nel chiamare un servizio.I casi d'uso per i documenti di definizione delle
APIleggibili da macchina includono, ma non sono limitati a: documentazione interattiva; generazione di codice per documentazione, client e server; e automazione dei casi di test. I documentiOpenAPIdescrivono i servizi di un'APIe sono rappresentati in formatoYAMLoJSON. Questi documenti possono essere prodotti e serviti staticamente o generati dinamicamente da un'applicazione.
Eseguire una valutazione della sicurezza di API basate su OpenAPI può essere un compito tedioso a causa della mancanza di capacità native di parsing OpenAPI in Burp Suite (standard del settore). Una soluzione a questa situazione è utilizzare strumenti di terze parti (ad es. SOAP-UI) o implementare script personalizzati (spesso per singolo impegno) per gestire l'analisi dei documenti OpenAPI e integrare/collegare i risultati a Burp Suite per utilizzare le sue capacità di scansione di prima classe.
openapi-parser è un parser OpenAPI che mira a semplificare l'intero processo, consentendo ai professionisti della sicurezza di utilizzare Burp Suite come strumento autonomo per la valutazione della sicurezza di API basate su OpenAPI.
OpenAPI possono essere analizzati da un file fornito o da un URL. L'estensione può recuperare documenti OpenAPI direttamente da un URL utilizzando la funzione Invia al parser Swagger nel menu contestuale di Target -> Site map.OpenAPI, precedentemente noti come specifica Swagger, completamente conformi alle specifiche OpenAPI 2.0/3.0 (OAS).Comparer, Intruder, Organizer, Repeater, Scanner, e di Burp.Sistema operativo: Compatibile con sistemi operativi Linux, macOS e Windows.
Java Development Kit (JDK): Versione 11 o successiva.
Burp Suite Professional o Community Edition: Versione 2023.11.1.3 o successiva.
[!IMPORTANTE] Si prega di notare che l'uso di qualsiasi versione inferiore a
2023.3.2potrebbe causare un java.lang.NoSuchMethodError. È fondamentale utilizzare la versione specificata o una più recente per evitare questo problema.
Versione 8.5 o successiva (raccomandata). Il file build.gradle è fornito nel repository del progetto.JAVA_HOME in modo che punti alla directory di installazione del JDK.Assicurarsi che tutti i requisiti di sistema, inclusa una versione compatibile di Burp Suite, siano soddisfatti prima di compilare ed eseguire il progetto. Si noti che le dipendenze esterne del progetto saranno gestite e installate automaticamente da Gradle durante il processo di build. Attenersi ai requisiti aiuterà a evitare potenziali problemi e ridurrà la necessità di aprire nuove issue nel repository del progetto.
Assicurarsi di avere Gradle installato e configurato.
Scaricare il repository openapi-parser:
git clone https://github.com/aress31/openapi-parser
cd .\openapi-parser\
Compilare il jar autonomo:
./gradlew fatJar
Burp SuitePer installare openapi-parser in Burp Suite, andare prima alla scheda Extensions e fare clic sul pulsante Add. Quindi, selezionare il file jar openapi-parser-all situato nella cartella .\build\libs per caricare l'estensione.
In alternativa, è possibile saltare completamente il passaggio di Compilazione e scaricare l'estensione direttamente dal BApp Store.
Nota: la versione distribuita sul BApp Store potrebbe essere in ritardo rispetto alla versione disponibile su questo repository.
OpenAPI per raccogliere tutti i parametri annidati insieme al loro esempio/tipo.MyHttpRequest invece di RequestWithMetadata.API direttamente dalla GUI.API fornite dall'utente).Vedere TODO per ulteriori attività in sospeso.
Nel luglio 2016, dopo aver pubblicato una richiesta di miglioramento sul forum di supporto PortSwigger, ho deciso di prendere l'iniziativa e implementare una soluzione da solo.
L'estensione è ancora in fase di sviluppo, feedback, commenti e contributi sono quindi molto apprezzati.
Se questa estensione ti ha fatto risparmiare tempo e grattacapi durante una valutazione della sicurezza, considera di mostrare un po' di amore sponsorizzando una tazza di caffè ☕ per lo sviluppatore. È il carburante che alimenta lo sviluppo, dopotutto. Basta premere il pulsante Sponsor in cima alla pagina o clicca qui per contribuire e mantenere il flusso di caffeina. 💸
Hai trovato un bug? Beh, non lasciarlo strisciare in giro! Schiacciamolo insieme come una coppia di sussurratori di bug! 🐛💪
Segnala eventuali problemi sul tracciatore di issue GitHub. Insieme, renderemo questa estensione affidabile come uno scarafaggio che sopravvive a un'apocalisse nucleare! 🚀
Vuoi fare colpo con le tue abilità di programmazione folli? 💻
Fantastico! I contributi sono benvenuti e molto apprezzati. Invia tutte le PR sul tracciatore di pull request GitHub. Insieme possiamo rendere questa estensione ancora più fantastica! 🚀
Vedere LICENSE.
Site mapScopeOpenAPI)' dell'editor di messaggi di Burp.API "interessanti" e/o codificarle a colori a scopo di reportistica.CSV, che consente agli utenti di esportare facilmente richieste API selezionate in formato CSV per ulteriori analisi o report.JSON che YAML.Param aggiungendo il tipo di parametro (ad es. inquery, inbody).