Skip to content

Tutto per WordPress, lo sviluppo web — e non solo

🧪 Burp Suite: scanner web e crawler per pentest

🧪 Burp Suite: scanner web e crawler per pentest

Un penetration tester arriva su un sito sconosciuto e vede solo la facciata. Le vulnerabilità reali, SQL injection, XSS, path traversal, si nascondono in profondità: directory nascoste, endpoint dimenticati, parametri di richiesta non ovvi. L'attraversamento manuale consuma ore. Quello automatico, senza lo strumento giusto, o perde punti di ingresso critici o manda in crash l'applicazione con una valanga di richieste.

Burp Suite Professional risolve questo compito con la combinazione «crawler + scanner». Un solo passaggio e si ottiene una mappa dell'applicazione con ogni pagina verificata per decine di classi di vulnerabilità. Tutto in un'unica finestra, senza script né riga di comando.

Questa guida è un'analisi passo passo del crawler e dello scanner di Burp Suite: dall'attraversamento di base alla messa a punto dell'audit. Gli screenshot sono aggiornati alle versioni 2024+, la logica non è cambiata da Burp 2.0. Tratteremo la modalità Crawl, Audit e la modalità combinata Crawl and Audit.

💡 Panoramica rapida:

  • Avviare una scansione crawl di base: scheda Dashboard, New Scan, Crawl, si ottiene una mappa del sito in Target.
  • Configurare il crawler per il proprio compito: escludere URL fuori ambito, aggiungere credenziali, regolare il pool di richieste.
  • Passare all'audit: Audit Selected Items su qualsiasi URL dalla mappa, Burp trova le vulnerabilità e le organizza per gravità.
  • Combinare Crawl + Audit per un test end-to-end: il crawler attraversa il sito, lo scanner verifica immediatamente ogni pagina scoperta.
  • Completare l'analisi studiando l'Advisory: payload, richiesta/risposta, CVSS e passaggi di remediation.

Cos'è un web crawler in Burp Suite

Un web crawler (detto anche spider) è un meccanismo che attraversa un'applicazione web: segue i link, invia form e accede a sezioni protette. Il risultato è una mappa del sito ad albero nella scheda Target, dove ogni URL è accompagnato da metodi HTTP e parametri di richiesta.

Fino alla versione 1.7, Burp Suite utilizzava Spider, uno strumento separato con una propria scheda. A partire da Burp 2.0, PortSwigger lo ha sostituito con Crawler, integrato direttamente nella Dashboard. Tutte le azioni automatiche, attraversamento, audit, logging, sono raccolte in un'unica finestra. Gestione: pausa/riprendi per ogni task separatamente.

In sostanza il crawler fa la stessa cosa di DirBuster o Dirb: enumera directory, registra URL nascosti. Ma, a differenza loro, Burp Crawler analizza il contenuto della pagina, esegue JavaScript (se l'analisi è abilitata) e comprende la logica di navigazione dell'applicazione. DirBuster e Dirb fanno semplicemente brute force usando un dizionario. Crawler costruisce un grafo dell'applicazione.

Esecuzione del crawler: scansione di base

Aprire Burp Suite e passare alla scheda Dashboard. Il pannello è diviso in quattro zone:

  • Tasks, tutti gli attraversamenti e le scansioni in esecuzione. Da qui si possono mettere in pausa, riprendere e visualizzare i dettagli di ogni task.
  • Event log, eventi di Burp Suite: avvio del proxy, guasti dei moduli, completamento scansione.
  • Issue activity, vulnerabilità scoperte con filtro per gravità e tipo.
  • Advisories, scheda dettagliata per la vulnerabilità selezionata: payload, richiesta/risposta e CVSS.

Fare clic sul pulsante New Scan in cima alla sezione Tasks.

Pulsante Nuova scansione nel pannello Dashboard di Burp Suite

Apparirà una finestra popup New Scan con due opzioni:

  • Crawl and audit, attraversamento + audit in un'unica esecuzione;
  • Crawl, solo attraversamento.

Per una prima introduzione, scegliere Crawl. Inserire un URL di test, ad esempio http://testphp.vulnweb.com, e fare clic su OK.

Finestra Nuova scansione con selezione modalità Crawl e campo URL

La finestra si chiuderà. Nella Dashboard in Tasks apparirà un nuovo task, «Crawl testphp.vulnweb.com». L'Event log confermerà l'evento «Crawl started».

Task di scansione nella Dashboard ed evento di avvio nel registro eventi

Dopo un paio di minuti, il task sarà completato. Cercare il risultato nella scheda Target, il crawler restituisce lì la mappa del sito sotto forma di albero di URL.

Mappa del sito nella scheda Target dopo il completamento del crawling

Nel pannello di destra, ogni URL è accompagnato da metodi HTTP e una colonna Parameters. I parametri indicano punti di ingresso, potenzialmente vulnerabili a injection. Fare doppio clic sull'intestazione della colonna Parameters, gli URL con parametri saliranno in cima.

Colonna Parametri nella scheda Target per trovare punti di ingresso

Il pannello sinistro di Target è occupato dall'albero del sito, cliccabile e con annidamento degli URL. Selezionare una directory qualsiasi, il pannello di destra mostra immediatamente i suoi metodi e parametri.

Albero degli URL nel pannello sinistro della scheda Target con selezione directory

Messa a punto del crawler

L'attraversamento di base è sufficiente per siti semplici. Ma un'applicazione reale è più complessa: alcune pagine sono fuori ambito, sezioni chiuse richiedono autorizzazione e un'applicazione fragile non può sopportare decine di richieste simultanee.

Torniamo alla Dashboard, facciamo di nuovo clic su New Scan, ma ora non abbiamo fretta con OK. Configuriamo.

Esclusione di URL fuori ambito

Nella sezione Scan details, trovare Detailed scope configuration. Andare su Excluded URL prefixes e aggiungere un URL che non deve essere incluso nell'attraversamento, ad esempio http://testphp.vulnweb.com/signup.php.

Campo prefissi URL esclusi nelle impostazioni dell'ambito di scansione

Creazione di una configurazione personalizzata

Andare su Scan configuration e fare clic sul pulsante New.

Pulsante Nuovo nella sezione Configurazione scansione per creare un profilo

Si aprirà una finestra con i parametri. Il nome della configurazione può essere lasciato come predefinito. Il parametro chiave è Crawl optimization: uno slider da "Fastest" a "Deepest" determina quanto in profondità il crawler esplora l'applicazione. Per un test di produzione, impostalo più vicino a Deepest; per una ricognizione rapida, più vicino a Fastest.

Cursore ottimizzazione crawling da Veloce a Completo

Qui si impostano anche i limiti di tempo e di pagine scoperte. Valori ragionevoli per un'applicazione di medie dimensioni: Maximum crawl time, 50 minuti, Maximum unique locations discovered, 5000.

Impostazioni limiti crawler: tempo e numero di pagine univoche

Credenziali per sezioni riservate

Se l'applicazione richiede il login, seleziona le caselle Log in to user registration portals e Log in using invalid credentials. Il crawler proverà a registrarsi con dati casuali o a inserire credenziali volutamente errate per osservare il comportamento del sito in caso di autenticazione fallita.

Checkbox autorizzazione crawler per portali di registrazione e login

Clicca Save: la configurazione compare nell'elenco a discesa Scan configuration.

Configurazione crawler salvata nell'elenco di selezione

Ora aggiungiamo credenziali reali: saranno utili se il crawler incontra un portale di amministrazione o una sezione riservata. Vai alla sezione Application login e clicca Create.

Sezione Login applicazione per aggiungere credenziali al crawler

Inserisci login e password, clicca OK.

Finestra inserimento credenziali per autorizzazione crawler

Pool di risorse e richieste concorrenti

La sezione Resource pool gestisce quante richieste concorrenti il crawler invia all'applicazione e con quale ritardo. Per un'applicazione fragile, riduci il numero di thread e aumenta il ritardo. Per un banco di prova demo, lasciamo i valori predefiniti.

Impostazioni pool di risorse: numero di thread e ritardo tra le richieste

Clicca OK: il crawler parte con la configurazione specificata. Monitoriamo l'avanzamento dalla Dashboard.

Dashboard con task crawler in esecuzione dopo la configurazione

Al termine, andiamo alla scheda Target. La pagina signup.php è assente nella mappa del sito: il prefisso escluso ha funzionato come previsto.

Mappa del sito dopo il crawling con URL escluso, signup.php assente

Scansione delle vulnerabilità: modalità audit

Il crawler fornisce una mappa dell'applicazione. L'audit va oltre: verifica la presenza di vulnerabilità negli URL scoperti, come SQL injection, XSS, command injection, path traversal e decine di altre classi. Nella terminologia di Burp Suite, questa si chiama "scansione attiva".

A differenza della scansione passiva (che analizza le risposte senza inviare richieste aggiuntive), l'audit attivo invia richieste modificate con payload e interpreta la risposta dell'applicazione.

Audit con impostazioni predefinite

Se l'applicazione è già stata scansionata dal crawler, puoi sottoporre a audit qualsiasi URL dalla mappa del sito. Nella scheda Target, fai clic con il tasto destro sull'URL base e seleziona Scan.

Menu contestuale su URL: opzione Scansione per avviare audit

Si apre di nuovo la finestra New Scan, ma ora l'opzione Audit selected items è attiva. Tutti gli URL della mappa del sito vengono inseriti automaticamente nel campo Items to scan. Fai clic su OK.

Finestra Nuova scansione con opzione Controlla elementi selezionati e lista URL

Passiamo alla Dashboard. Il quadro è cambiato: le sezioni Tasks ed Event log sono attive e, cosa più importante, Issue activity e Advisories ora contengono dati.

Dashboard dopo avvio audit: Task, Attività problemi e Avvisi compilati

In pochi minuti, lo scanner ha inviato circa 17.000 richieste e ha identificato vulnerabilità raggruppate per gravità: alta (rosso), media (giallo), informativa (grigio).

Pulsante Visualizza dettagli nella scheda task di audit sulla Dashboard

Si aprirà una finestra con il dettaglio completo. La scheda Audit items mostra gli URL verificati e il numero di vulnerabilità scoperte.

Scheda Elementi controllati con lista URL verificati e vulnerabilità

La scheda Issue activity mostra le stesse informazioni suddivise per gravità. Ogni vulnerabilità può essere espansa per visualizzare l'Advisory.

Scheda Attività problemi con raggruppamento vulnerabilità per gravità

La scheda Advisories mostra la scheda completa della vulnerabilità selezionata. In alto sono riportati URL, gravità, confidenza e punteggio CVSS. Di seguito sono presenti la descrizione, le raccomandazioni per la remediation e i link a risorse esterne su questa classe di vulnerabilità.

Scheda Avviso completo con CVSS, descrizione e raccomandazioni

Per vedere la richiesta e la risposta HTTP specifiche che hanno generato il rilievo, vai alla scheda HTTP request/response. È qui che vedi il payload che Burp ha inviato all'applicazione e la risposta del server che conferma la vulnerabilità.

Scheda Richiesta/risposta HTTP: payload inviato e risposta del server

Perfezionamento dell'audit

L'audit predefinito copre tutte le classi di vulnerabilità. Ma a volte è necessario restringere il campo: verificare solo SQL injection o solo XSS. Oppure, al contrario, aggiungere controlli personalizzati per un'API specifica.

Creazione di un profilo di audit

Apriamo di nuovo la finestra New Scan. Nella sezione Scan configuration, fai clic su New per creare una configurazione di audit.

Pulsante Nuovo nella sezione Configurazione scansione per profilo di audit

Nella finestra che si apre, vai alla scheda Audit optimization. Qui trovi tre livelli:

  • Default, copertura standard, equilibrio tra velocità e profondità;
  • Thorough, set esteso di payload e verifica più approfondita di ogni parametro;
  • Fast, modalità leggera, meno richieste e controlli.
Scheda Ottimizzazione audit: selezione Predefinito, Approfondito o Veloce

La sezione Issues reported consente di selezionare classi di vulnerabilità specifiche. Ad esempio, se lasci solo SQL injection e Cross-site scripting, lo scanner non perderà tempo a verificare path traversal o command injection.

Sezione Problemi segnalati: selezione classi di vulnerabilità per audit

Nella scheda Audit optimization > Custom puoi configurare in modo più preciso l'intersezione delle classi e l'intensità dei controlli.

Configurazione dettagliata intersezione classi di vulnerabilità in Personalizzato

Tipi di scansione

Nella scheda Audit optimization c'è una sezione Scan type con quattro livelli di aggressività:

  • Passive, solo analisi del traffico, nessuna richiesta aggiuntiva. Sicuro per la produzione, ma individua solo header e problemi di configurazione.
  • Light active, set minimo di verifiche attive. Compromesso tra copertura e rischio.
  • Medium active, più verifiche, carico medio. Per ambienti di staging.
  • Intrusive, set completo, inclusi controlli distruttivi. Solo su postazioni isolate.
Sezione selezione tipo scansione: Passiva, Leggera, Media, Intrusiva

Nella stessa sezione è possibile attivare opzionalmente l'analisi JavaScript: il crawler esegue JS per scoprire contenuti dinamici ed endpoint nascosti nelle applicazioni SPA.

Checkbox analisi JavaScript nelle impostazioni di scansione

La scelta finale del tipo di scansione viene mostrata in cima alla finestra di configurazione.

Selezione tipo scansione: Passiva, Attiva leggera, Attiva media, Intrusiva, Analisi JS

Punti di inserimento

I punti di inserimento sono le posizioni all'interno delle richieste in cui Burp inserisce i payload. Per impostazione predefinita, lo scanner li determina automaticamente: parametri URL, corpo POST, header, cookie. In modalità avanzata è possibile limitare o espandere l'insieme delle posizioni.

Configurazione punti di inserimento per payload nelle richieste

Salviamo la configurazione, che compare nell'elenco a discesa.

Profilo di audit salvato nell'elenco a discesa delle configurazioni

Clicchiamo OK. Lo scanner invia circa 2.700 richieste (contro le 17.000 di un audit completo) e trova una vulnerabilità di gravità alta.

Risultato audit attivo leggero: 2700 richieste, 1 vulnerabilità

Ora, facendo clic con il tasto destro su un URL in Target, compaiono non una ma due opzioni di scansione: quella predefinita e la nostra personalizzata.

Due opzioni di scansione nel menu contestuale URL dopo creazione profilo

Controlli predefiniti dalla libreria

La configurazione manuale dell'audit non è obbligatoria. Burp Suite include una libreria di profili già pronti. Quando si crea una nuova configurazione, basta cliccare su Select from library in fondo alla finestra.

Pulsante Seleziona da libreria nella finestra creazione configurazione audit

Seleziona un profilo predefinito, ad esempio uno pensato per una specifica classe di vulnerabilità o tipologia di applicazione.

Libreria dei profili di audit integrati di Burp Suite

Il profilo selezionato viene riportato nella finestra New Scan.

Profilo di audit selezionato dalla libreria nella finestra Nuova scansione

Clicca OK. Al termine dell'audit, il menu contestuale dell'URL in Target mostra tre opzioni di scansione: default, custom e library.

Tre opzioni di scansione nel menu contestuale URL: predefinito, personalizzato, libreria

Scansione e audit in un'unica esecuzione

Finora abbiamo eseguito crawler e audit separatamente. Ma Burp Suite supporta la modalità end-to-end Crawl and Audit: prima esplora l'applicazione, poi verifica immediatamente la presenza di vulnerabilità su tutto ciò che ha trovato.

Nella Dashboard, clicca di nuovo New Scan, seleziona Crawl and audit, inserisci l'URL.

Finestra Nuova scansione con selezione modalità Crawl e audit e campo URL

Nella sezione di configurazione, cliccando Create, Burp chiede quale parte configurare: ottimizzazione del crawler o parametri di audit. I parametri interni sono gli stessi che abbiamo visto separatamente.

Menu di selezione: configurazione crawler o audit in modalità Crawl e Audit

Questa è la modalità principale per il penetration testing in produzione: un'unica esecuzione copre sia la ricognizione sia l'individuazione delle vulnerabilità. Per applicazioni molto grandi con decine di migliaia di pagine, è più veloce dividere in due fasi, prima il crawler e poi l'audit. Ma per la maggior parte dei siti, Crawl and Audit fornisce risultati in un solo passaggio.

Gestione delle attività: eliminazione e pulizia

Le attività completate e obsolete vanno eliminate per non ingombrare la Dashboard. Clicca l'icona del cestino accanto all'attività.

Icona cestino per eliminare un task nel pannello Dashboard

Conferma l'eliminazione nella finestra popup.

Finestra di conferma eliminazione task in Burp Suite

Le attività vengono eliminate immediatamente, insieme a tutti i dati raccolti. Prima di eliminare, assicurati che i risultati dell'audit siano salvati o esportati.

Video: analisi completa del Burp Suite Scanner

Il crawler e lo scanner sono solo una parte di Burp Suite. Questo video copre l'intero ciclo di penetration test: dalla configurazione del proxy all'audit attivo e allo sfruttamento delle vulnerabilità scoperte.

⁉️🤔 Domande frequenti

In cosa differisce il crawler di Burp Suite da DirBuster e Dirb?

DirBuster e Dirb lavorano a partire da un dizionario, enumerando nomi di directory da una lista predefinita. Il Crawler di Burp Suite costruisce un grafo dell'applicazione: analizza il contenuto delle pagine, estrae link, invia form e può effettuare il login. Il risultato è una mappa applicativa con relazioni di navigazione, metodi e parametri. Trova ciò che i dizionari non contengono: URL dinamici, punti di ingresso tramite redirect JavaScript ed endpoint nascosti dietro form di login.

Quale versione di Burp Suite serve per crawler e audit?

Il crawler e l'audit attivo sono disponibili solo in Burp Suite Professional (499 $ per utente all'anno per il 2026, prezzi di Burp Suite Professional). La Community Edition include proxy, Repeater, Intruder con limitazione del rate e Decoder, ma non il Crawler né lo Scanner. Professional offre entrambi gli strumenti più Intruder senza limiti, Collaborator e script BCheck per controlli personalizzati. A partire dalla versione 2025, Professional include anche Burp AI, un assistente AI per interpretare i risultati delle scansioni. Enterprise Edition aggiunge integrazione CI/CD, schedulatore e collaborazione in team.

Si può scansionare un sito non visibile da internet?

Il crawler e l'audit funzionano attraverso il proxy upstream di Burp Suite. Tutto ciò che è accessibile al browser tramite Burp Proxy è accessibile al crawler: localhost, server di staging dietro VPN, portali aziendali. Non serve alcuna configurazione di rete aggiuntiva, l'ambito si definisce tramite Target scope.

Come evitare di mandare in crash la produzione con l'audit attivo?

Scegliere Light active invece di Intrusive. Disabilitare i controlli con rischio di corruzione dati: SQL injection con INSERT/UPDATE/DELETE, command injection distruttivi, upload di file. Tre regole: (1) Solo passivo al primo passaggio, (2) Light active senza controlli intrusivi al secondo, (3) Intrusive solo in staging. Pool di risorse: 1 thread, 500 ms di ritardo.

Che differenza c'è tra audit passivo e audit attivo?

L'audit passivo (Passive scanning) non invia nuove richieste, analizza il traffico già transitato attraverso il proxy: header, cookie, corpo delle risposte. L'audit attivo (Active scanning) genera nuove richieste con payload modificati. Il passivo non troverà SQL injection, ma identificherà header di sicurezza mancanti e cookie senza HttpOnly/Secure. Nella pratica si usano entrambi in sequenza: passivo durante la navigazione, attivo mirato sugli endpoint interessanti.

Quanto è rilevante Burp Suite nel 2026?

Burp Suite resta lo standard de facto per il penetration testing web. Nel 2025 PortSwigger ha aggiunto un assistente AI per l'analisi delle vulnerabilità, nel 2026 un installer unificato Professional/Community, note in Markdown e un controllo esteso del traffico HTTP. I concorrenti (OWASP ZAP, Caido) stanno avanzando, ma per profondità dell'audit attivo ed ecosistema di estensioni Burp è ancora irraggiungibile.

Quale modalità di Burp Suite scegliere per il tuo obiettivo

Crawler, audit o entrambi insieme: la scelta dipende dalla fase del penetration test e dall'obiettivo.

Se devi costruire una mappa applicativa prima dell'analisi manuale, esegui Crawl con ottimizzazione Deepest. Aggiungi le credenziali per le sezioni riservate ed escludi gli URL fuori ambito (pagine di logout, reset password).

Se la mappa esiste già e l'obiettivo è trovare vulnerabilità, usa Audit su un insieme specifico di URL. Per il primo passaggio, Passive + Light active. Lascia Intrusive per lo staging.

Per un test completo "da zero", Crawl and Audit. Una sola esecuzione, operazioni manuali minime.

E la regola principale: non eseguire mai Intrusive su produzione di terzi senza consenso scritto. Anche Light active lascia tracce nei log del server.