
Estensione di Burp Suite per test di sicurezza API con 15 tipi di attacco, oltre 108 payload, fuzzing intelligente, rilevamento BOLA/IDOR, integrazione AI e ricognizione automatizzata. Supporta API REST/GraphQL/SOAP con Nuclei, Turbo Intruder e integrazione con strumenti esterni. Copertura OWASP API Top 10.
Se questo progetto aiuta il tuo lavoro, supporta la manutenzione continua e le nuove funzionalità.
Portafoglio donazioni ETH
0x11282eE5726B3370c8B480e321b3B2aA13686582
Scansiona il codice QR o copia l'indirizzo del portafoglio qui sopra.
Estensione Burp Suite di livello professionale per la ricognizione completa delle API, fuzzing intelligente e test di sicurezza basati su IA.
BurpAPISecuritySuite consolida funzionalità che richiederebbero tipicamente 10+ estensioni separate in un'unica estensione ottimizzata. Questa decisione architetturale offre significativi vantaggi prestazionali:
Efficienza della memoria: Eseguire più estensioni Burp contemporaneamente crea una pressione sostanziale sulla memoria. Ogni estensione mantiene il proprio stato, componenti UI e listener di eventi. Un'unica estensione con più schede condivide le risorse in modo efficiente e riduce l'impronta di memoria complessiva.
Overhead API ridotto: L'API delle estensioni di Burp elabora i callback di ogni estensione caricata. Con 10+ estensioni, ogni richiesta HTTP attiva callback su tutte le estensioni, creando un overhead moltiplicativo. Una sola estensione significa una singola catena di callback, riducendo drasticamente i cicli CPU e migliorando la reattività.
Contesto condiviso: Le schede integrate condividono i dati del traffico catturato, eliminando l'elaborazione ridondante. La scheda Recon cattura una volta, e tutte le altre schede (Fuzzer, Auth Replay, Passive Discovery, ecc.) operano sullo stesso dataset senza dover ri-analizzare le richieste.
Avvio più veloce: Caricare una sola estensione è significativamente più veloce che caricare 10+ estensioni. Burp inizializza i componenti UI, registra i callback e alloca le risorse una volta sola invece che ripetutamente.
Migliore stabilità: Meno estensioni significano meno potenziali conflitti, disallineamenti di versione e problemi di compatibilità. Un unico codebase è più facile da testare, debuggare e mantenere.
Questa filosofia di design dà priorità alle prestazioni e all'esperienza utente, fornendo allo stesso tempo funzionalità complete di test di sicurezza delle API che altrimenti richiederebbero una configurazione complessa con più estensioni.






Runner di riempimento lacune + ricerca approfondita integrato, calibrato per completare la copertura di Nuclei/HTTPX/Katana.
Nota: ApiHunter è uno strumento open-source con licenza MIT e un importante complemento a BurpAPISecuritySuite. Fornisce capacità di ricognizione API avanzate che colmano le lacune lasciate da altri scanner. Vedi https://github.com/Teycir/ApiHunter per installazione e utilizzo.








BurpAPISecuritySuite è un toolkit completo per il test di sicurezza delle API che:
/users/123 → /users/{id})subfinder + dnsx + httpxBurpAPISecuritySuite.pyRecon per ispezionare gli endpoint catturati e i risultatiPassive Discovery, clicca Run Differential per controlli controfattuali senza punteggio, o Run Invariants per l'intero stack di logica profondaRecon, clicca Refresh Invariants per aggiornare i risultati di Differential + Sequence + Golden + State Matrix + Token Lineage + Parity Drift prima dell'esportazioneRecon, clicca Export AI Bundle per generare il contesto IA da tutte le schedeexcalibur-burp-bridge/v1 (Excalibur è uno strumento proprietario: https://github.com/Teycir/Excalibur)tool, method, host/path, status, len, type, tags).Max Memory (default 20.000 righe).Grep Values..., Tag Rules..., e flusso di lavoro regex salvato ( + filtri salvati).Nome: valoreCopia URL (o clicca con il tasto destro Copia URL selezionati) per copiare gli URL completiRisultato per ordinare per gravità, oppure usa Ordina Gravità per una rapida CRITICAL -> HIGH -> MEDIUM -> OKAll o controlli per categoria (API3, API4, API5, API6, API9, API10)Tutti gli Endpoint, Vista Filtrata, o ambito host correnteEndpoint Selezionato, Vista Filtrata, o Tutti gli Endpoint.Proxy/Cattura Live, HAR/Replay Importato, o scansiona entrambi insieme.Tutto API Sensibile, Segreti e Token, PII e Finanziari, Credenziali e Sessione, Esposizione Infra/Interna.apihunter (il rilevamento automatico predefinito cerca nel PATH del runtime, poi sonde shell (bash -lc e bash -ic) tramite command -v, e copia il percorso assoluto trovato; nessun candidato fallback statico)Run ApiHunter, la suite risolve nuovamente apihunter dal PATH (processo + sonda shell) e aggiorna automaticamente il campo con il percorso binario assoluto risolto quando disponibileQuick (Desktop Preset), Balanced (Desktop Preset) (predefinito), Deep (Desktop Preset)Solo Unauth, , (predefinito). In modalità doppio passaggio, gli URL base deduplicati vengono suddivisi in liste di destinazione e ; ogni passaggio viene eseguito sulla propria lista. L'associazione auth utilizza sia le intestazioni auth della richiesta che i segnali auth non basati su intestazione (, marcatori token/cookie/sessione nei metadati della richiesta).Solo Unauth, Solo Auth, Auth + Unauth (predefinito). In modalità doppio passaggio, gli URL base deduplicati vengono suddivisi in liste di destinazione associate-auth e associate-unauth; ogni passaggio viene eseguito sulla propria lista. L'associazione auth utilizza sia le intestazioni auth della richiesta che i segnali auth non basati su intestazione (auth_detected, marcatori token/cookie/sessione nei metadati della richiesta). La derivazione del contesto auth cattura il miglior Authorization header disponibile, le intestazioni simili ad auth (X-API-Key, Api-Key, ApiKey, X-Auth-Token, X-Access-Token), e deriva coppie di cookie dalle intestazioni della richiesta.kr.kite locale o un alias Assetnote come apiroutes-260227:20000Fast, Balanced, Deep ottimizzazione della scansione delle rotte, con Balanced selezionato per impostazione predefinita per una copertura più ampia al primo passaggio; Fast mantiene un limite più stretto di 10 minuti per un triage più rapido e Deep spende un tetto di 15 minuti su meno host con scansioni più completeDestinazioni Personalizzate... invece dell'ambito filtrato di Reconmax 20 voci, una per riga) con sanificazione rigorosa e normalizzazione URL base canonica ()sqlmap localeFast, Balanced, Deep preset di ottimizzazione dei comandidalfox localeFast, Balanced, Deep preset di ottimizzazione dei comandiFast, Balanced, Deep ottimizzazione delle fasi per subfinder/dnsx/httpxsubfinder → dnsx → httpx per la scoperta di asset API viviBOLA (Broken Object Level Authorization)
IDOR (Insecure Direct Object Reference)
SQL Injection
XSS (Cross-Site Scripting)
NoSQL Injection
JWT Exploitation
GraphQL Abuse
SSTI (Server-Side Template Injection)
Race Conditions
Business Logic
WAF Bypass
{ "metadata": { "timestamp": "20240115_143022", "total_endpoints": 15, "total_requests": 47 }, "endpoints": [ { "endpoint": "GET:/api/users/{id}", "method": "GET", "normalized_path": "/api/users/{id}", "host": "api.example.com", "sample_count": 3, "parameters": { "url": ["id"], "body": [], "cookie": ["session"], "json": [] }, "auth_methods": ["Bearer Token"], "response_codes": [200, 404], "content_types": ["application/json"], "api_patterns": ["REST API", "JSON API", "CRUD: GET"], "sample_requests": [...] } ], "api_structure": { "api_types": ["REST API", "JSON API"], "http_methods": ["GET", "POST", "PUT", "DELETE"], "auth_methods": ["Bearer Token", "API Key"], "base_paths": ["/api/", "/v1/"] }, "security_observations": [ { "type": "Potential IDOR/BOLA", "severity": "Critical", "count": 5, "examples": ["GET:/api/users/{id}", "GET:/api/orders/{id}"], "recommendation": "Implement object-level authorization checks" }, { "type": "Unauthenticated Endpoints", "severity": "High", "count": 3, "examples": ["GET:/api/health", "GET:/api/version"] }, { "type": "Weak Encryption (Base64)", "severity": "High", "count": 2, "examples": [{"endpoint": "POST:/api/auth", "types": ["Base64"]}], "recommendation": "Use proper encryption (AES-256, TLS 1.3)" } ], "llm_prompt": "# API Red Team Extension Generation\n\n..." }
## Dati ed Esportazione
### Cosa Viene Catturato
### Per Endpoint
- Metodo HTTP e percorso normalizzato
- Host, protocollo, porta
- Stringa di query e tutti i tipi di parametri (URL, body, cookie, JSON)
- Intestazioni di richiesta/risposta
- Corpi di richiesta/risposta (troncati a 20KB)
- Codici di stato della risposta
- Tipi di contenuto
- Metodi di autenticazione rilevati
- Pattern API (REST, GraphQL, SOAP, ecc.)
### Analisi
- Panoramica della struttura API (tipi, metodi, autenticazione, percorsi di base)
- Osservazioni sulla sicurezza (endpoint non autenticati, dati sensibili)
- Raggruppamento e deduplicazione degli endpoint
- Richieste di esempio per ogni endpoint
## Integrazione
### Integrazione con Prompt LLM
L'esportazione include prompt e contesto pronti per l'AI che danno priorità a:
1. Percorsi di sfruttamento dei dati sensibili (esposizione cross-account/tenant)
2. Cambiamenti di stato non autorizzati (abuso di workflow/ciclo di vita)
3. Difetti logici non ovvi rispetto a risultati generici soggetti a duplicati
4. Prove riproducibili basate su delta e richieste con dati mancanti
Artefatti AI principali:
- `ai_bundle.json`
- `ai_all_tabs_context.json`
- `ai_openai_request.json`
- `ai_anthropic_request.json`
- `ai_ollama_request.json`
### Workflow del Repository Compagno (APIPentesting)
`BurpAPISecuritySuite` e `APIPentesting` sono progettati per essere usati insieme:
1. Cattura e analizza il traffico in BurpAPISecuritySuite.
2. In `Recon`, clicca su `Export AI Bundle`.
3. In APIPentesting, esegui:
- `./scripts/scan-nuclei-prioritize.sh /path/to/ai_bundle.json <scan-name>`
4. Verifica `Reports/<scan-name>-<timestamp>/priority.json` e `results.jsonl`.
5. Usa `scripts/AI_TRIAGE_PROMPT.md` (da APIPentesting) con la tua interfaccia AI per un triage incentrato sui dati sensibili.
Ripartizione delle responsabilità:
- BurpAPISecuritySuite: cattura in-Burp, arricchimento, analisi logica approfondita, confezionamento AI/esportazione.
- APIPentesting: orchestrazione della scansione esterna, classificazione e triage dello sfruttamento assistito dall'AI.
## Esempi di Workflow
### 1. Generazione di Payload Potenziata dall'AI```bash
# 1. Capture API traffic in Burp
# 2. (Optional) Run Passive Discovery → "Run Invariants"
# 3. (Optional) In Recon, click "Refresh Invariants"
# 4. In Recon, click "Export AI Bundle"
# 5. Run APIPentesting scan from the exported bundle:
# ./scripts/scan-nuclei-prioritize.sh /path/to/ai_bundle.json burp-ai-scan
# 6. Feed Reports/.../priority.json + results.jsonl to AI with
# scripts/AI_TRIAGE_PROMPT.md for sensitive-data-first exploit triage.
### 3. Burp Intruder with Auto-Positions```bash
# 1. Generate fuzzing attacks
# 2. Click "Send to Intruder"
# 3. Burp Intruder opens with §markers§ pre-configured
# 4. Load payloads from exported payloads.json
# 5. Launch attack
~/burp_APIRecon/ ├── FullExport_TIMESTAMP/ │ ├── api_analysis.json │ └── excalibur_bridge_bundle.json ├── HostExport_HOSTNAME_TIMESTAMP/ │ ├── api_analysis.json │ └── excalibur_bridge_bundle.json ├── Payloads_TIMESTAMP/ │ └── payloads.json (idor, sqli, xss, nosqli, ssrf, xxe, ssti, deserialization, waf_bypass) ├── AI_Context_TIMESTAMP/ │ ├── ai_context.json │ ├── ai_bundle.json │ ├── ai_all_tabs_context.json │ ├── ai_vulnerability_context.json │ ├── ai_behavioral_analysis.json │ ├── ai_counterfactual_differential_findings.json │ ├── ai_counterfactual_differential_summary.json │ ├── ai_sequence_invariant_findings.json │ ├── ai_sequence_evidence_ledger.json │ ├── ai_golden_ticket_findings.json │ ├── ai_golden_ticket_ledger.json │ ├── ai_state_transition_findings.json │ ├── ai_state_transition_ledger.json │ ├── ai_token_lineage_findings.json │ ├── ai_token_lineage_ledger.json │ ├── ai_parity_drift_findings.json │ ├── ai_parity_drift_ledger.json │ ├── ai_openai_request.json │ ├── ai_anthropic_request.json │ └── ai_ollama_request.json ├── SequenceInvariant_Export_TIMESTAMP/ │ ├── counterfactual_differential_findings.json │ ├── counterfactual_differential_summary.json │ ├── sequence_invariant_findings.json │ ├── sequence_evidence_ledger.json │ ├── golden_ticket_findings.json │ ├── golden_ticket_ledger.json │ ├── state_transition_findings.json │ ├── state_transition_ledger.json │ ├── token_lineage_findings.json │ ├── token_lineage_ledger.json │ ├── parity_drift_findings.json │ └── parity_drift_ledger.json ├── TurboIntruder_TIMESTAMP/ │ ├── race_condition.py │ ├── bola_enum.py │ └── jwt_brute.py ├── VersionScan_Export_TIMESTAMP/ │ └── version_scan.txt ├── ParamMiner_Export_TIMESTAMP/ │ └── param_mining.txt └── NucleiTargets_TIMESTAMP/ └── targets.txt
### Buone Pratiche
### Fase di Ricognizione
- **Cattura Traffico Autenticato**: Effettua il login per catturare gli endpoint protetti
- **Esercita Tutte le Funzionalità**: Naviga attraverso l'intera applicazione per una copertura completa
- **Usa Più Ruoli**: Cattura traffico come admin, utente, ospite per il rilevamento BOLA
- **Rivedi le Statistiche**: Controlla i conteggi Critico/Alto/Medio nel pannello delle statistiche
### Fase di Fuzzing
- **Inizia con "Tutti"**: Genera prima una campagna di attacco completa
- **Concentrati su Alto Rischio**: Filtra per gravità per gli endpoint critici
- **Verifica i Rilevamenti**: Rivedi gli attacchi generati prima di inviarli a Intruder
- **Test Batch**: Usa Turbo Intruder per race condition ed enumerazione ad alta velocità
### Integrazione AI
- **Esporta il Contesto Presto**: Genera il contesto AI dopo la cattura iniziale
- **Esegui + Aggiorna gli Invarianti Prima dell'Esportazione**: Aggiungi nuova evidenza di logica profonda (Differenziale + Sequenza + Golden + Matrice di Stato + Discendenza dei Token + Deriva di Parità) prima di inviare i dati all'AI
- **Itera i Payload**: Usa payload generati dall'AI, testa, perfeziona il prompt
- **Combina Tecniche**: Unisci i payload AI con la libreria di payload integrata
### Automazione
- **Integrazione Nuclei**: Esegui Nuclei per una rapida validazione delle vulnerabilità
- **Esporta Target**: Usa liste di target con ffuf, wfuzz o script personalizzati
- **Integrazione CI/CD**: Automatizza le esportazioni per il regression testing
## Informazioni Tecniche
### Dettagli Tecnici
- **Normalizzazione**: Sostituisce ID numerici, UUID, ObjectID con segnaposto
- **Deduplicazione**: Tiene traccia di endpoint unici per metodo + percorso normalizzato
- **Troncamento**: Corpi limitati a 20KB, campioni limitati a 3 per endpoint
- **Rilevamento Autenticazione**: Identifica Bearer, Basic, API Key, Cookie di Sessione
- **Pattern Matching**: Rilevamento basato su regex per REST, GraphQL, SOAP
### Limitazioni
- Non cattura traffico WebSocket
- Risposte binarie non completamente analizzate
- Risposte grandi troncate (limite 20KB)
- Richiede Jython (sintassi Python 2.7)
## Casi d'Uso
- **Test di Penetrazione API**: Fuzzing completo con 108+ vettori di attacco
- **Caccia ai Bug Bounty**: Rilevamento e sfruttamento automatico di BOLA/IDOR
- **Ricerca sulla Sicurezza**: Tecniche di attacco avanzate (race condition, JWT, GraphQL)
- **Operazioni Red Team**: Script Turbo Intruder per attacchi ad alta velocità
- **Test Assistiti da AI**: Genera payload personalizzati con ChatGPT/Claude
- **Sicurezza CI/CD**: Esporta target per test di regressione automatizzati
- **Formazione e Istruzione**: Impara le vulnerabilità API attraverso esempi reali
## Documentazione
- [Indice Completo della Documentazione](https://github.com/teycir/burpapisecuritysuite/blob/HEAD/docs/DOCUMENTATION-INDEX.md)
- [Panoramica dell'Architettura](https://github.com/teycir/burpapisecuritysuite/blob/HEAD/docs/Architecture.md)
- [Validazione Fuzzing GraphQL](https://github.com/teycir/burpapisecuritysuite/blob/HEAD/docs/GRAPHQL_VALIDATION.md)
- [Riferimento Tag Logger++](https://github.com/teycir/burpapisecuritysuite/blob/HEAD/docs/loggerpp_tags.md)
## FAQ
### Domande Generali
**D: Funziona con Burp Suite Community Edition?**
R: Sì! Tutte le funzionalità principali funzionano sia con l'edizione Community che Professional. Tuttavia, alcune funzionalità avanzate di Burp come l'integrazione dello Scanner richiedono Pro.
**D: Perché l'estensione non cattura il traffico?**
R: Controlla che:
- L'interruttore Auto-Capture sia abilitato nella scheda Recon
- Stai navigando attraverso il proxy di Burp
- Il target stia inviando traffico HTTP/HTTPS (WebSocket non supportati)
- Controlla il Log delle Attività per eventuali messaggi di errore
**D: Come installo Jython?**
R: Scarica il JAR Standalone di Jython da https://www.jython.org/download, poi in Burp: Extender → Opzioni → Ambiente Python → Seleziona File → Scegli il file jython-standalone-*.jar.
### Prestazioni e Limiti
**D: Quanti endpoint può gestire?**
R: L'estensione gestisce efficientemente più di 500 endpoint con rotazione automatica quando viene raggiunto il limite (800). Gli endpoint più vecchi vengono rimossi automaticamente.
**D: Perché le risposte sono troncate a 20KB?**
R: Per prevenire problemi di memoria con risposte grandi mantenendo un contesto di analisi utile. Il limite predefinito attuale di cattura del corpo è 20KB.
**D: Posso aumentare il limite di campioni per endpoint?**
R: Sì, usa il menu a discesa "Campioni" nella scheda Recon (1, 3, 5 o 10 campioni per endpoint).
### Fuzzing e Attacchi
**D: Perché non vedo attacchi BOLA/Auth Bypass?**
R: Questi attacchi richiedono endpoint autenticati. Assicurati di:
- Effettuare il login all'applicazione prima
- Catturare il traffico mentre sei autenticato
- Cercare endpoint con token Bearer, chiavi API o cookie di sessione
**D: Come uso gli attacchi generati?**
R: Tre modi:
1. **Burp Intruder**: Clicca "Invia a Intruder" per test automatizzati
2. **Turbo Intruder**: Esporta script per attacchi ad alta velocità
3. **Manuale**: Usa "Copia come cURL" per test da riga di comando
**D: Qual è la differenza tra "Tutti" e tipi di attacco specifici?**
R: "Tutti" genera attacchi completi su tutti i tipi di vulnerabilità. I tipi specifici (es. "SQLi") si concentrano solo su quella classe di vulnerabilità per test mirati.
**D: Come testare efficacemente gli endpoint GraphQL?**
R: Approccio a tre punte:
1. **Scheda Fuzzer**: Seleziona il tipo di attacco "GraphQL" per 40+ payload specifici di GraphQL (introspection, batching, directive overloading, field suggestion)
2. **Scheda Nuclei**: Esegui con `-tags graphql` per 29+ template che coprono misconfigurazioni e rilevamento
3. **Test Manuale**: Usa "Copia come cURL" per testare manualmente introspection, batching e attacchi di profondità
Il Fuzzer rileva automaticamente gli endpoint GraphQL e genera attacchi per:
- Estrazione dello schema tramite introspection
- DoS tramite batching (array/alias) e attacchi di profondità
- Suggerimento di campo per la scoperta dello schema quando l'introspection è disabilitata
- Sovraccarico di direttive (abuso di @skip, @include)
- DoS da frammento circolare
- Mutazioni non autorizzate
### Strumenti Esterni
**D: Devo installare ApiHunter/Nuclei/HTTPX/Katana/FFUF/Kiterunner?**
R: Solo se vuoi usare quelle schede specifiche. L'estensione principale funziona senza di loro. Installa da:
- ApiHunter: https://github.com/Teycir/ApiHunter (strumento proprietario - richiede installazione separata o build locale in `~/Repos/ApiHunter`, poi build `target/release/apihunter`)
- Nuclei: https://github.com/projectdiscovery/nuclei
- HTTPX: https://github.com/projectdiscovery/httpx
- Katana: https://github.com/projectdiscovery/katana
- FFUF: https://github.com/ffuf/ffuf
- Kiterunner: https://github.com/assetnote/kiterunner
**D: Dove dovrei installare questi strumenti?**
R: Percorsi predefiniti:
- `~/Repos/ApiHunter/target/release/apihunter`
- `~/go/bin/nuclei`
- `~/go/bin/httpx`
- `~/go/bin/katana`
- `~/go/bin/ffuf`
- `~/.local/bin/kr`
- Su Windows, i percorsi predefiniti comuni sono in `C:\\Users\\<tuo_utente>\\go\\bin\\*.exe`
Oppure configura percorsi personalizzati in ciascuna scheda.
Le schede ora rilevano automaticamente le posizioni Go-bin sia in stile Unix che Windows `*.exe` quando presenti.
**D: Come funzionano le sostituzioni personalizzate dei comandi?**
R:
- Lascia deselezionato "Abilita Personalizzato" per usare i valori predefiniti sicuri integrati.
- Seleziona "Abilita Personalizzato" per eseguire esattamente ciò che scrivi nella casella dei comandi.
- Usa "Comando Preimpostato..." per riempire automaticamente comandi comuni rapidamente (è ancora una scelta fino a quando "Abilita Personalizzato" non è selezionato).
- Clicca `?` per vedere segnaposto e esempi per ogni scheda.
- I comandi personalizzati vengono eseguiti con `cmd /c` su Windows e `bash/sh -lc` su Linux/macOS.
- I valori predefiniti integrati di HTTPX e Katana usano flag nativi di file di elenco (`-l` / `-list`) per l'esecuzione multipiattaforma.
### Note di Sicurezza
- La modalità comando personalizzato è intenzionalmente restrittiva e **opt-in** ("Abilita Personalizzato" deve essere selezionato).
- I comandi personalizzati renderizzati vengono validati per frammenti shell proibiti (ad esempio concatenamento di comandi/ridirezionamento/sintassi subshell).
- Gli eseguibili sono limitati da elenchi di autorizzazione per strumento in modalità personalizzata (ad esempio `nuclei`, `httpx`, `katana`, `waybackurls`/`gau`, `apihunter`, `subfinder`).
- I valori del contesto segnaposto vengono sanificati prima del rendering del template e sono disponibili varianti con virgolette (`{targets_file_q}`, `{urls_file_q}`, ecc.) per un'interpolazione più sicura dei percorsi.
- Se il tuo flusso di lavoro necessita di logica shell complessa al di fuori di questa policy, esegui manualmente quel comando al di fuori dell'estensione.
**D: Perché HTTPX mostra errori di opzione non valida?**
R:
- Assicurati di usare `httpx` di ProjectDiscovery, non lo strumento CLI `httpx` di Python.
- Percorso consigliato: `~/go/bin/httpx`.
- L'estensione ora convalida le firme degli strumenti locali e mostra un suggerimento di correzione quando non corrispondono.
**D: Come posso riempire rapidamente le intestazioni Guest/User/Admin per Auth Replay?**
R:
- In `Auth Replay`, clicca `Estrai` accanto a Guest/User/Admin.
- Si apre un popup ricercabile con i candidati alle intestazioni catturate.
- Filtra per testo endpoint, nome intestazione o frammento di token.
- Seleziona un elemento e clicca `OK`; il campo viene riempito nel formato `Nome: valore`.
### Esportazione e Integrazione
**D: Dove vengono salvati i file esportati?**
R: Tutte le esportazioni vanno in `~/burp_APIRecon/` con sottodirectory con timestamp. Controlla il Log delle Attività per i percorsi esatti.
**D: Come uso l'esportazione del Contesto AI?**
R:
1. (Opzionale) Esegui `Passive Discovery` → `Run Invariants`
2. (Opzionale) Nella scheda `Recon`, clicca `Refresh Invariants`
3. Nella scheda `Recon`, clicca `Export AI Bundle`
4. Usa APIPentesting per scansionare da quell'esportazione:
- `./scripts/scan-nuclei-prioritize.sh /path/to/ai_bundle.json burp-ai-scan`
5. Fornisci `Reports/.../priority.json` + `results.jsonl` alla tua interfaccia AI usando APIPentesting `scripts/AI_TRIAGE_PROMPT.md`
6. Usa `ai_sequence_evidence_ledger.json`, `ai_golden_ticket_ledger.json` e `ai_state_transition_ledger.json` per prioritizzare cosa validare per primo
**D: Posso importare dati esportati in precedenza?**
R: Sì. `Importa` accetta:
- `api_analysis.json` (esportazione BurpAPISecuritySuite)
- Esportazioni Excalibur `.har` (Excalibur è uno strumento proprietario: https://github.com/Teycir/Excalibur)
- Sidecar Excalibur `-replay-studio.json` / `-cookies.json` / `-insights.json` (rilevati automaticamente dallo stesso prefisso di sessione)
- `excalibur_bridge_bundle.json` (`schema: excalibur-burp-bridge/v1`)
Se vengono rilevati artefatti Excalibur, lo strumento esegue automaticamente `Refresh Invariants` dopo l'importazione in modo che le cache Differenziale + Sequenza + Golden + Stato + Discendenza Token + Deriva Parità siano immediatamente pronte.
**D: Posso inviare richieste catturate a Postman o Insomnia?**
R: Sì. Nella scheda Recon, usa:
- `Postman` per esportare `postman_collection.json` (Collection v2.1)
- `Insomnia` per esportare `insomnia_collection.json` (formato di importazione Insomnia)
- Entrambi supportano la selezione dell'ambito: `Tutti gli Endpoint`, `Vista Filtrata` o `Host Corrente`.
### Risoluzione dei Problemi
**D: Estensione caricata ma non compare nelle schede?**
R: Controlla la scheda Extender → Estensioni di Burp per errori. Problemi comuni:
- Jython non configurato correttamente
- Errori di sintassi Python 2.7 (l'estensione usa Jython/Python 2.7)
- Memoria insufficiente (aumenta la dimensione dell'heap di Burp)
**D: Messaggio "Nessun endpoint catturato"?**
R: Assicurati:
- Stai navigando attivamente attraverso il proxy di Burp
- Auto-Capture è abilitato
- Il target sta effettuando richieste HTTP (non solo caricando file statici)
- Controlla se gli endpoint vengono filtrati (immagini/font sono automaticamente filtrati)
**D: La scansione Nuclei/HTTPX si blocca o va in timeout?**
R:
- Controlla che lo strumento sia installato e il percorso sia corretto
- Verifica la connettività di rete ai target
- Scansioni grandi potrebbero richiedere diversi minuti (timeout massimo predefinito: 15 minuti)
- Usa **Target Bases...** con **Only Base+Derivatives** per forzare un ambito rigoroso a target singolo
- Usa il pulsante **Stop** nella stessa scheda per annullare l'esecuzione di strumenti esterni
- Controlla il Log delle Attività per messaggi di errore dettagliati
**D: Perché alcuni endpoint sono contrassegnati come "Critico" o "Alto"?**
R: La gravità si basa su:
- **Critico**: Endpoint di debug/admin, IDOR/BOLA non autenticato
- **Alto**: IDOR/BOLA autenticato, esposizione di dati sensibili, crittografia debole
- **Medio**: Risposte di errore, parametri riflessi
- **Info**: Endpoint standard
### Uso Avanzato
**D: Come testare le race condition?**
R:
1. Genera attacchi di fuzzing (scheda Fuzzer)
2. Clicca il pulsante "Turbo Intruder"
3. Carica lo script esportato `race_condition.py` in Turbo Intruder di Burp
4. Configura per 50+ richieste parallele
**D: Posso personalizzare i payload degli attacchi?**
R: Sì! Esporta i payload in JSON, modificali, poi:
- Usali manualmente in Burp Intruder
- Inviali all'AI per il miglioramento
- Crea script personalizzati con la libreria di payload
**D: Come confrontare due versioni API?**
R:
1. Esporta i dati API dalla versione 1 ("Esporta Tutto")
2. Cancella i dati e cattura la versione 2
3. Esporta la versione 2
4. Usa la scheda Diff → Carica entrambe le esportazioni → Confronta
**D: Qual è il miglior flusso di lavoro per la caccia ai bug bounty?**
R:
1. Cattura traffico autenticato (tutti i ruoli utente)
2. Rivedi prima gli endpoint di gravità Critico/Alta
3. Genera attacchi "Tutti" nel Fuzzer
4. Concentrati sugli endpoint BOLA/IDOR
5. Usa Version Scanner per trovare API legacy
6. Esegui Param Miner sugli endpoint di alto valore
7. Esporta in Nuclei per la validazione automatizzata
### Punti Salienti Tecnici
- **Architettura Jython Pulita**: Design modulare con logica core testabile
- **Estrazione Modulare**: Flussi di lavoro pesanti estratti in moduli helper (`heavy_runners.py`, `ai_prep_layer.py`, `behavior_analysis.py`)
- **Rilevamento Intelligente**: Identificazione delle vulnerabilità sensibile al contesto
- **Ottimizzato per le Prestazioni**: Gestisce efficientemente più di 500 endpoint
- **Multipiattaforma**: Funziona su Windows, macOS, Linux
- **Estensibile**: Facile aggiungere nuovi tipi di attacco e payload
- **Interfaccia Professionale**: Gravità con codice colore, interfaccia a schede, statistiche in tempo reale
- **Copertura Replay**: Include test golden replay corpus per rilevamento invariante di sequenza e output del registro di confidenza
## 💼 Servizi Professionali
Hai bisogno di strumenti di sicurezza personalizzati o soluzioni di test API? Costruisco applicazioni pronte per la produzione e strumenti di sicurezza.
### Progetti in Evidenza
- **[ApiHunter](https://github.com/Teycir/ApiHunter)** - Strumento automatizzato di ricognizione API e test di sicurezza con rilevamento intelligente degli endpoint
- **[TimeSeal](https://timeseal.online)** ([GitHub](https://github.com/Teycir/Timeseal)) - Cassaforte crittografica a tempo e interruttore di sicurezza con crittografia zero-trust
- **[Ghost Chat](https://ghost-chat.pages.dev)** - Chat P2P sicura con WebRTC, nessun server di archiviazione, timer di autodistruzione
- **[BurpCopyIssues](https://github.com/Teycir/BurpCopyIssues)** - Estensione Burp Suite per navigare, copiare ed esportare i risultati della scansione
- **[BurpWpsScan](https://github.com/Teycir/BurpWpsScan)** - Scanner di sicurezza WordPress per Burp Suite con integrazione API WPScan
- **[Excalibur](https://github.com/Teycir/Excalibur)** - Strumenti di scoperta della superficie di attacco API e flusso di lavoro di sessione per operazioni pratiche di pentest (strumento proprietario)
- **[APIPentesting](https://github.com/Teycir/APIPentesting)** - Workflow compagno di scansione esterna Burp-first e triage degli exploit per la caccia ai bug bounty API
- **Strumenti di Sicurezza Personalizzati** - Estensioni Burp, framework di test API, script di automazione
### Servizi Offerti
- 🔒 **Sviluppo di Strumenti di Sicurezza** - Estensioni Burp personalizzate, strumenti di penetration testing, framework di automazione
- 🚀 **Sviluppo di Applicazioni Web** - Sviluppo full-stack con tecnologie moderne
- 🔧 **Consulenza sulla Sicurezza API** - Revisione dell'architettura, valutazione delle vulnerabilità, guida alla correzione
- 🤖 **Integrazione AI** - Strumenti di sicurezza basati su LLM, generazione automatica di payload, fuzzing intelligente
**Mettiti in Contatto**: [teycirbensoltane.tn](https://teycirbensoltane.tn) | Disponibile per progetti freelance e consulenza
## Contribuire
### Autore
Sviluppato da [Teycir Ben Soltane](https://teycirbensoltane.tn)
### Licenza
Licenza MIT - Libero da usare per test di sicurezza autorizzati e scopi di ricerca.
## Changelog
Vedi [CHANGELOG.md](https://github.com/teycir/burpapisecuritysuite/blob/HEAD/CHANGELOG.md) per la cronologia completa delle versioni.
| Caratteristica | BurpAPISecuritySuite | Burp Scanner Pro | OWASP ZAP | Postman |
|---|
| Prezzo | Gratuito | $449/anno | Gratuito | Gratuito/a pagamento |
| Focus specifico API | ✅ Sì | ⚠️ Parziale | ⚠️ Parziale | ✅ Sì |
| Cattura e normalizzazione automatica | ✅ Sì | ❌ No | ⚠️ Base | ❌ No |
| Rilevamento BOLA/IDOR | ✅ Automatico | ⚠️ Manuale | ⚠️ Manuale | ❌ No |
| Tipi di attacco | 15 tipi | 100+ (generici) | 50+ (generici) | Limitati |
| Payload API | 108+ focalizzati su API | Web generici | Web generici | Base |
| Analisi JWT | ✅ Automatica | ⚠️ Richiede estensione | ⚠️ Richiede estensione | ⚠️ Manuale |
| Test GraphQL | ✅ Integrato | ❌ No | ⚠️ Limitato | ⚠️ Manuale |
| Test race condition | ✅ Turbo Intruder | ✅ Turbo Intruder | ❌ No | ❌ No |
| Integrazione IA | ✅ Esporta pacchetto IA + payload LLM | ❌ No | ❌ No | ❌ No |
| Version Scanner | ✅ Integrato | ❌ No | ❌ No | ❌ No |
| Parameter Mining | ✅ Integrato | ⚠️ Richiede estensione | ❌ No | ❌ No |
| Wayback Discovery | ✅ Integrato | ❌ No | ❌ No | ❌ No |
| Integrazione strumenti esterni | ✅ ApiHunter, Nuclei, SQLMap, Dalfox, HTTPX, Katana, FFUF, Subfinder, DNSX | ❌ No | ⚠️ Limitato | ⚠️ Limitato |
| Tecniche di bypass WAF | ✅ 20+ metodi | ⚠️ Alcune | ⚠️ Alcune | ❌ No |
| Formati di esportazione | JSON, Intruder, Turbo, Nuclei, cURL | XML, HTML | XML, HTML, JSON | JSON, cURL |
| Supporto Burp Community | ✅ Sì | ❌ Solo Pro | N/D | N/D |
| Curva di apprendimento | Bassa | Media | Media | Bassa |
| Ideale per | Penetration testing API, bug bounty | Test web app completi | Automazione DAST | Sviluppo API |
Save RegexShow Endpoint Detail, Send Selected To Repeater, Copy Selected Rows, e selezione multipla.auth -> accesso oggetto -> cambio statoabuse_chain_*, proof_mode_packet_sets, spec_guardrails_* e role_delta_*Solo AuthAuth + Unauthassociate-authassociate-unauthauth_detectedSolo Unauth, Solo Auth, Auth + Unauth (predefinito). In modalità doppio passaggio, gli URL base deduplicati vengono suddivisi in liste di destinazione associate-auth e associate-unauth; ogni passaggio viene eseguito sulla propria lista. L'associazione auth utilizza sia le intestazioni auth della richiesta che i segnali auth non basati su intestazione (auth_detected, marcatori token/cookie/sessione nei metadati della richiesta).Critical / High / Medium per il controllo del rumore nel triage di riepilogoDestinazioni Personalizzate... invece dell'ambito filtrato di Reconmax 20 voci, una per riga) con sanificazione rigorosa e normalizzazione URL base canonica (scheme://host[:port]/), inclusa deduplicazione e rifiuto di righe non valideUsa Destinazioni Personalizzate è abilitato, l'esecuzione fallisce rapidamente se il contenuto del popup è vuoto, supera il limite o contiene righe URL non validescheme://host[:port]/) per ApiHunterQuick: --no-discovery, --max-endpoints 40, --concurrency 4, --timeout-secs 12, --retries 1, --delay-ms 0, e disabilita scanner pesanti (mass-assignment, oauth-oidc, rate-limit, cve-templates, websocket)Balanced: --no-discovery, --max-endpoints 80, --concurrency 5, --timeout-secs 15, --retries 1, --delay-ms 50Deep: --active-checks --response-diff-deep --no-discovery, --max-endpoints 0, --concurrency 6, --timeout-secs 20, --retries 2, --delay-ms 100, --waf-evasion, --per-host-clients, --adaptive-concurrency{apihunter_path}, {targets_file}, {results_file})Auth + Unauth è bloccato; usa Solo Auth o Solo Unauth, oppure disabilita la modalità personalizzata per l'esecuzione automatica a doppio passaggio.Critical / High / Medium), mentre le statistiche dell'output dello scanner rimangono complete.CookieFast, Balanced, Deep preset di scansione per scoperta APIAuth + Unauth è bloccato; usa Solo Auth o Solo Unauth, oppure disabilita la modalità personalizzata per l'esecuzione automatica a doppio passaggio.nuclei/httpx/katana/ffuf/kiterunner/waybackurls/gau/sqlmap/dalfox/subfinder/dnsxtaskkill su Windows e pkill (con fallback killall) su Linux/macOSscheme://host[:port]/Filtra Rumore di Recon selezionato all'avvio comprime il suo set di destinazioni predefinitoPath Traversal
SSRF (Server-Side Request Forgery)
XXE (XML External Entity)
Deserializzazione