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.
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 + httpx| 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 |
BurpAPISecuritySuite.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 (Save Regex + filtri salvati).Show Endpoint Detail, Send Selected To Repeater, Copy Selected Rows, e selezione multipla.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 correnteauth -> accesso oggetto -> cambio stato)abuse_chain_*, proof_mode_packet_sets, spec_guardrails_* e role_delta_*Endpoint 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, 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).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).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 50{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.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 Cookie della richiesta.Fast, 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/macOSkr.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 (scheme://host[:port]/)Filtra Rumore di Recon selezionato all'avvio comprime il suo set di destinazioni predefinitosqlmap 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
Path Traversal
SSRF (Server-Side Request Forgery)
XXE (XML External Entity)
Deserializzazione
{ "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/main/docs/DOCUMENTATION-INDEX.md)
- [Panoramica dell'Architettura](https://github.com/teycir/burpapisecuritysuite/blob/main/docs/Architecture.md)
- [Validazione Fuzzing GraphQL](https://github.com/teycir/burpapisecuritysuite/blob/main/docs/GRAPHQL_VALIDATION.md)
- [Riferimento Tag Logger++](https://github.com/teycir/burpapisecuritysuite/blob/main/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/main/CHANGELOG.md) per la cronologia completa delle versioni.
| 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 |
Deep: --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