Burp Suite è lo standard de facto nell'arsenale di qualsiasi specialista della sicurezza delle applicazioni web. Il suo modulo proxy consente di intercettare, analizzare e modificare il traffico HTTP/HTTPS tra il browser e il server in tempo reale. In questa guida vedremo come configurare Burp Suite come proxy, quali moduli utilizzare per un pentesting di base e come evitare gli errori comuni dei principianti.
Che cos'è Burp Suite e a cosa serve al pentester
Burp Suite è una piattaforma integrata per il test della sicurezza delle applicazioni web, sviluppata da PortSwigger. Lo strumento esiste in tre edizioni: Community (gratuita), Professional ed Enterprise. Per la maggior parte delle attività di livello base e intermedio, la versione Community è sufficiente, anche se la Professional offre accesso a uno scanner di vulnerabilità attivo e funzionalità avanzate di Intruder.
Il ruolo principale di Burp Suite nel pentesting è quello di proxy man-in-the-middle. Lo strumento si interpone tra il tuo browser e l'applicazione web target, intercettando tutto il traffico HTTP/HTTPS. Questo consente di:
- Vedere le richieste e le risposte "grezze" che il browser nasconde all'utente
- Modificare i parametri delle richieste al volo — cambiare intestazioni, corpo della richiesta POST, cookie
- Ripetere le richieste con dati modificati senza ricaricare la pagina
- Automatizzare la scansione dei valori dei parametri per cercare vulnerabilità
- Costruire una mappa completa dell'applicazione web (Spider/Crawler)
- Trovare vulnerabilità di classi SQLi, XSS, IDOR, SSRF e decine di altre
Burp Suite è utilizzato sia da professionisti del pentesting in progetti commerciali che da partecipanti a programmi Bug Bounty (HackerOne, Bugcrowd). È il primo strumento che viene installato sulla macchina di lavoro all'inizio della carriera nel campo della sicurezza delle applicazioni.
⚠️ Importante:
Utilizza Burp Suite solo per testare applicazioni per le quali hai ricevuto un permesso scritto dal proprietario, o per ambienti di apprendimento (DVWA, WebGoat, HackTheBox, TryHackMe). Il test non autorizzato è un reato penale.
Come funziona l'intercettazione proxy in Burp Suite
Quando avvii Burp Suite e attivi il modulo Proxy, sulla tua macchina viene avviato un server proxy locale. Per impostazione predefinita, ascolta all'indirizzo 127.0.0.1:8080. Il browser viene configurato per utilizzare questo indirizzo come proxy HTTP/HTTPS.
Lo schema di funzionamento è il seguente:
Browser │ │ Richiesta HTTP/HTTPS ▼ Burp Suite Proxy (127.0.0.1:8080) │ │ ← Qui Burp intercetta, mostra, permette di modificare │ ▼ Server web target (example.com) │ │ Risposta HTTP/HTTPS ▼ Burp Suite Proxy │ │ ← Qui Burp intercetta la risposta del server │ ▼ Browser (riceve la risposta)
Per il traffico HTTPS, Burp Suite genera certificati TLS propri per ogni dominio al volo. Affinché il browser non mostri avvisi di connessione non sicura, è necessario installare il certificato CA radice di Burp nei centri di certificazione fidati del browser o del sistema operativo. Questo consente di decifrare il traffico HTTPS: senza questo passaggio vedrai solo dati crittografati.
La modalità di intercettazione (Intercept) può essere attivata o disattivata. Quando Intercept è attivato, ogni richiesta viene "congelata" in Burp e attende la tua decisione: lasciarla così com'è, modificarla o scartarla. Quando è disattivato, Burp lascia passare il traffico in modo trasparente, ma continua a registrarlo nella Cronologia HTTP.
Configurazione del browser e installazione del certificato CA
Questo è il passo più importante per iniziare a lavorare. Consideriamo due opzioni: utilizzare il browser integrato di Burp e configurare manualmente Chrome/Firefox.
Opzione 1: Browser integrato di Burp Suite (raccomandato per i principianti)
A partire dalla versione 2021.x, Burp Suite viene fornito con un browser Chromium integrato, già preconfigurato per lavorare con il proxy e contenente il certificato CA. Questo è il modo più veloce per iniziare:
- Apri Burp Suite → vai alla sezione Proxy
- Fai clic sul pulsante Open Browser
- Si aprirà Chromium, già configurato per il proxy Burp
- Visita il sito desiderato — il traffico verrà immediatamente intercettato
Opzione 2: Configurazione manuale di Firefox
Firefox è preferito per la configurazione manuale, poiché ha un proprio archivio di certificati (non dipende da quello di sistema):
Passo 1. Configura il proxy in Firefox:
- Apri Firefox → Impostazioni → Proxy (o utilizza l'estensione FoxyProxy)
- Seleziona "Configurazione manuale del proxy"
- Proxy HTTP:
127.0.0.1, Porta:8080 - Seleziona "Utilizza questo proxy per HTTPS"
- Fai clic su OK
Passo 2. Installa il certificato CA di Burp:
- Assicurati che Burp Suite sia in esecuzione e il proxy sia attivo
- Nel browser vai all'indirizzo:
http://burpsuiteohttp://127.0.0.1:8080 - Fai clic su "CA Certificate" — verrà scaricato il file
cacert.der - In Firefox: Impostazioni → Privacy e sicurezza → Certificati → Visualizza certificati
- Scheda "Centri di certificazione" → Importa → seleziona il file scaricato
- Seleziona "Fidati di questo CA per l'identificazione dei siti web"
- Fai clic su OK
Dopo questi passaggi, Firefox si fiderà dei certificati che Burp genera per i siti HTTPS e potrai intercettare il traffico crittografato senza avvisi.
Intercettazione e analisi del traffico HTTP/HTTPS
Dopo aver configurato il browser, puoi iniziare a lavorare con il traffico. Esaminiamo le principali funzionalità della scheda Proxy in Burp Suite.
HTTP History — registro di tutte le richieste
La scheda HTTP History (Proxy → HTTP History) è un registro di tutte le richieste che sono passate attraverso Burp. Qui vedrai:
- Metodo di richiesta (GET, POST, PUT, DELETE, ecc.)
- URL e parametri
- Intestazioni HTTP (inclusi Cookie, Authorization, User-Agent)
- Corpo della richiesta (per POST/PUT)
- Codice di risposta del server (200, 302, 403, 500...)
- Dimensione e tempo di risposta
Fai clic con il tasto destro su qualsiasi richiesta → otterrai un menu contestuale con opzioni: invia a Repeater, Intruder, Scanner, Decoder e altri moduli. Questo è il flusso di lavoro principale in Burp.
Intercept — modalità di intercettazione attiva
Attiva Intercept (pulsante "Intercept is on/off") — e la prossima richiesta dal browser verrà "congelata" in Burp. Vedrai il suo contenuto e potrai:
- Forward — inoltrare la richiesta senza modifiche
- Drop — scartare la richiesta (il server non la riceverà)
- Modificare i dati manualmente — modificare qualsiasi campo e premere Forward
- Action → Send to Repeater — inviare a Repeater per ulteriori analisi
Esempio pratico: intercetti una richiesta POST del modulo di accesso. Nel corpo della richiesta vedi i parametri username=admin&password=12345. Puoi modificare i valori direttamente in Burp e premere Forward — il server riceverà già i dati modificati.
Moduli chiave: Repeater, Intruder, Scanner
Burp Suite non è solo un proxy. È un'intera ecosistema di strumenti. Esaminiamo tre moduli che vengono utilizzati più frequentemente.
Repeater — test manuale delle richieste
Repeater è il cavallo di battaglia del pentester. Invi la richiesta da HTTP History (tasto destro → Send to Repeater), dopodiché puoi:
- Modificare qualsiasi parametro della richiesta
- Inviare nuovamente la richiesta premendo il pulsante Send
- Visualizzare la risposta del server nel pannello di destra
- Confrontare le risposte a diverse varianti della richiesta
- Salvare la cronologia di tutte le varianti inviate
Uno scenario tipico di utilizzo di Repeater: hai trovato il parametro id=5 nella richiesta GET. Invi la richiesta a Repeater e inizi a controllare: cosa succede con id=1, id=0, id=-1, id=999999? Questo è un controllo di base per IDOR (Insecure Direct Object Reference).
Intruder — attacco automatizzato
Intruder consente di automatizzare l'intercettazione dei valori dei parametri secondo un dizionario o un modello specificato. Le modalità di attacco principali sono:
| Modalità | Descrizione | Applicazione |
|---|---|---|
| Sniper | Un parametro, un dizionario | Brute force di un campo |
| Battering Ram | Più parametri, un valore | Quando è necessario lo stesso valore in più posti |
| Pitchfork | Più parametri, più dizionari (sincronamente) | Intercettazione di login+password da coppie predefinite |
| Cluster Bomb | Più parametri, tutte le combinazioni | Brute force di tutte le combinazioni |
Nella versione Community, la velocità di Intruder è artificialmente limitata (circa 1 richiesta al secondo). Nella versione Professional non ci sono limitazioni. Per aggirare questa limitazione, nella Community si utilizzano estensioni di terze parti o strumenti come ffuf/wfuzz in combinazione con Burp.
Scanner — ricerca automatica di vulnerabilità (Pro)
Scanner è disponibile solo nella versione Professional. Analizza automaticamente le richieste intercettate e cerca vulnerabilità: SQL injection, XSS, XXE, SSRF, Path Traversal e altre. Nella versione Community è disponibile la scansione passiva: Burp analizza il traffico e segnala potenziali punti pericolosi senza attacchi attivi.
Ricerca di vulnerabilità comuni tramite Burp Suite
Esaminiamo scenari pratici per la ricerca delle vulnerabilità più comuni utilizzando Burp Suite.
SQL Injection (SQLi)
Controllo di base per SQLi tramite Repeater:
- Intercetta la richiesta con il parametro che va nel database (ad esempio,
id=5osearch=test) - Invia a Repeater
- Aggiungi un apostrofo al valore:
id=5' - Premi Send e analizza la risposta — se il server restituisce un errore SQL o il comportamento cambia — c'è un segnale di SQLi
- Controlla l'iniezione booleana:
id=5 AND 1=1vsid=5 AND 1=2— se le risposte differiscono, l'iniezione è presente
Reflected XSS
Controllo per XSS riflesso:
- Trova un parametro il cui valore viene visualizzato nella pagina di risposta
- Invia la richiesta a Repeater
- Inserisci un payload di test:
<script>alert(1)</script> - Analizza la risposta — se il payload è presente nell'HTML senza escaping, l'XSS è presente
- Controlla se il tag script viene filtrato: prova
<img src=x onerror=alert(1)>
IDOR (Insecure Direct Object Reference)
Una delle classi di vulnerabilità più comuni nelle moderne applicazioni web:
- Trova richieste che accedono a oggetti tramite ID numerico:
/api/user/profile?id=1234 - Invia a Repeater
- Modifica l'ID con un altro valore:
id=1235,id=1 - Se il server restituisce i dati di un altro utente senza errore di autorizzazione — questo è IDOR
Controllo dell'autenticazione e gestione della sessione
Burp Suite consente di controllare facilmente i meccanismi di autenticazione:
- Copia la richiesta a una risorsa protetta in Repeater
- Rimuovi o modifica il valore del cookie di sessione
- Controlla se il server restituirà un errore di autorizzazione o fornirà comunque i dati
- Controlla se i token JWT funzionano modificando l'algoritmo in
none
Burp Suite + proxy esterno: perché è necessario
Burp Suite è uno strumento proxy locale. Ma in alcuni scenari, il pentester deve instradare il traffico di Burp attraverso un proxy esterno. Vediamo quando e perché è necessario.
Scenario 1: Testare da un indirizzo IP reale
Alcune applicazioni web hanno protezioni basate sulla geolocalizzazione o sulla reputazione dell'IP. Se l'applicazione target blocca il traffico dai data center o da IP VPN noti, il pentester può utilizzare proxy residenziali — hanno indirizzi IP di utenti domestici reali e appaiono al server come visitatori normali.
Scenario 2: Bypassare il rate limiting durante il test attivo
Durante la scansione attiva o l'uso di Intruder, il server target potrebbe bloccare il tuo IP a causa dell'elevato numero di richieste. La rotazione attraverso un pool di proxy consente di distribuire il carico su diversi indirizzi IP. Per queste attività, i proxy dei data center sono ideali — offrono alta velocità e stabilità di connessione, che sono critiche durante i test automatizzati.
Come configurare un proxy upstream in Burp Suite
Burp Suite supporta i proxy upstream (proxy di livello superiore). Configurazione:
- Apri Burp Suite → Impostazioni (o Opzioni utente nelle versioni precedenti)
- Vai alla sezione Network → Connections → Upstream Proxy Servers
- Fai clic su Add
- Nel campo Destinazione host, inserisci
*(per tutti gli host) o un dominio specifico - Inserisci l'indirizzo e la porta del proxy esterno
- Seleziona il tipo: HTTP, SOCKS4 o SOCKS5
- Se necessario, inserisci nome utente e password
- Fai clic su OK
# Esempio di configurazione del proxy upstream in Burp Suite: Destinazione host: * Proxy host: proxy.example.com Proxy port: 8888 Tipo di autenticazione: Basic Nome utente: your_login Password: your_password Tipo di proxy: SOCKS5
Dopo questa configurazione, tutto il traffico che Burp invia ai server target passerà attraverso il proxy upstream specificato. Il browser continuerà a connettersi a Burp su 127.0.0.1:8080, mentre Burp inoltrerà autonomamente le richieste attraverso il proxy esterno.
Confronto dei tipi di proxy per il pentesting
| Tipo di proxy | Velocità | Anonimato | Applicazione nel pentesting |
|---|---|---|---|
| Data Center | Alta | Media | Scansione attiva, Intruder |
| Residenziale | Media | Alta | Bypassare le geoblocchi, simulare l'utente |
| Mobile | Media | Molto alta | Testare API mobili, bypassare WAF rigorosi |
Consigli e errori comuni nell'uso di Burp Suite
Negli anni di lavoro con Burp Suite, la comunità dei pentester ha accumulato un elenco di errori comuni dei principianti e tecniche collaudate. Ecco i più importanti.
Errori comuni dei principianti
- Dimenticato di installare il certificato CA. Sintomo: i siti HTTPS mostrano un avviso di connessione non sicura, il traffico non viene intercettato. Soluzione: installa il certificato secondo le istruzioni sopra.
- Intercept è rimasto attivato. Il browser "si è bloccato" — non carica le pagine. Soluzione: vai su Proxy → Intercept e fai clic su "Intercept is on" per disattivare l'intercettazione.
- Non hai aggiunto eccezioni per il traffico di sistema. Burp intercetta il traffico degli aggiornamenti di Windows, antivirus, ecc. Configura i filtri in Proxy → Options → Intercept Client Requests per intercettare solo i domini desiderati.
- Testano il server di produzione senza permesso. Questo è illegale. Utilizza solo ambienti di test o applicazioni con esplicito permesso.
- Ignorano la scheda Target → Site Map. Qui Burp costruisce una mappa dell'intera applicazione — tutti gli endpoint, parametri e risposte scoperti. Questa è una fonte preziosa di informazioni durante la ricognizione.
Tecniche utili
- Match and Replace. In Proxy → Options → Match and Replace puoi configurare la sostituzione automatica dei valori nelle richieste. Ad esempio, aggiungere automaticamente un'intestazione o cambiare il User-Agent in uno mobile.
- Decoder. Il modulo Decoder consente di decodificare/codificare rapidamente i dati: Base64, URL-encoding, HTML-entities, Hex. Indispensabile per l'analisi di token e parametri.
- Comparer. Consente di confrontare due risposte del server byte per byte. Invia due richieste simili a Comparer e vedrai immediatamente la differenza.
- BApp Store. Burp Suite supporta le estensioni (BApp Store). Popolari: Autorize (controllo dell'autenticazione), Logger++ (logging avanzato), Turbo Intruder (brute force veloce nella Community), JWT Editor.
- Salva il progetto. Nella versione Professional puoi salvare il progetto. Nella Community utilizza Export → Save state, per non perdere la Cronologia HTTP alla chiusura.
- Utilizza Scope. In Target → Scope aggiungi il dominio dell'applicazione target. Questo consentirà a Burp di filtrare il traffico irrilevante e di non intasare la Cronologia HTTP con richieste a Google, CDN, ecc.
Risorse utili per la pratica
| Risorsa | Tipo | Per chi |
|---|---|---|
| PortSwigger Web Security Academy | Laboratori gratuiti + teoria | Principianti e livello intermedio |
| DVWA (Damn Vulnerable Web App) | Ambiente locale | Pratica senza rischi |
| HackTheBox / TryHackMe | Piattaforme online CTF | Pratica di scenari reali |
| WebGoat (OWASP) | Ambiente locale con lezioni | Studio dell'OWASP Top 10 |
Conclusione
Burp Suite è uno strumento potente e accessibile per il test della sicurezza delle applicazioni web. Il suo modulo proxy offre una visibilità completa del traffico HTTP/HTTPS, e la combinazione Proxy → Repeater → Intruder copre la maggior parte delle attività di pentesting manuale. Puoi iniziare gratuitamente con la versione Community e i laboratori gratuiti della PortSwigger Web Security Academy — questo è il modo migliore per padroneggiare lo strumento nella pratica.
Passi chiave per iniziare: installa Burp Suite, configura il browser tramite FoxyProxy, installa il certificato CA, aggiungi il dominio target nello Scope — e sei pronto a lavorare. Dopo aver padroneggiato i moduli di base, passa all'esplorazione delle estensioni dal BApp Store: Autorize, Turbo Intruder e JWT Editor espanderanno notevolmente le tue capacità.
Se nel tuo pentesting è necessario testare applicazioni con geolocalizzazione non standard, bypassare i blocchi IP o simulare il traffico di utenti reali, ti consigliamo di configurare un proxy upstream in Burp Suite. Per attività in cui è importante un alto livello di anonimato e bypassare le protezioni basate sulla reputazione IP, i proxy residenziali sono ideali — forniscono traffico da indirizzi IP di utenti reali e minimizzano il rischio di blocco durante i test.
```