Supporta lo sviluppo
Se questo progetto aiuta il tuo lavoro, sostieni la manutenzione continua e le nuove funzionalità.
Portafoglio donazioni ETH
0x11282eE5726B3370c8B480e321b3B2aA13686582
Scansiona il codice QR o copia l'indirizzo del portafoglio qui sopra.
BurpWpsScan

Un'estensione per Burp Suite che rileva siti WordPress durante i test di applicazioni web (rilevamento passivo + verifica attiva), esegue valutazioni di sicurezza complete incluse scansioni di vulnerabilità del core, plugin e temi tramite API WPScan, verifica l'esposizione di XML-RPC/REST API, enumera utenti, controlla le versioni dei plugin e genera report di penetration testing pronti per l'IA.
Compatibile con le edizioni Burp Suite Community e Professional.
Screenshot
Interfaccia principale
L'interfaccia principale di WpsScan mostra i siti WordPress rilevati con indicatori di stato e controlli di scansione
Report esportati
Struttura di esportazione organizzata con report JSON, Markdown e pronti per l'IA per ogni sito scansionato
JSON grezzo WPScan
Output JSON dettagliato contenente i dati completi delle vulnerabilità e i metadati della scansione
Funzionalità
Rilevamento e scoperta
- Rilevamento live di WordPress: Identifica passivamente i siti WordPress dal traffico HTTP in tempo reale
- Scansione cronologia HTTP: Analizza la cronologia HTTP di Burp per trovare siti WordPress da traffico passato (contrassegnati con etichetta [HTTP HISTORY])
- Importazione URL bulk: Verifica attivamente e importa più URL per il rilevamento batch di WordPress
- Scoperta plugin/temi: Estrae plugin e temi dalle risposte HTTP e dalla cronologia
- Rilevamento versione: Identifica la versione del core di WordPress da più fonti (meta tag, feed, API)
Scansione delle vulnerabilità
- Integrazione API WPScan: Interroga il database delle vulnerabilità WPScan per:
- Vulnerabilità del core di WordPress
- Vulnerabilità dei plugin (80+ plugin ad alto rischio + fino a 3 altri)
- Vulnerabilità dei temi
- Dettagli vulnerabilità in tempo reale: Mostra titolo e tipo della vulnerabilità immediatamente dopo la scansione di ogni componente
- Scansione intelligente dei plugin: Scansione di TUTTI gli 80+ plugin ad alto rischio + fino a 3 altri (risparmia il 60-80% dei crediti API)
- Cache API 24 ore: Non esegue mai una seconda scansione dello stesso plugin/tema entro 24 ore (persistente anche dopo riavvii di Burp)
Valutazioni di sicurezza
- Test di sicurezza XML-RPC:
- Rileva se l'endpoint XML-RPC è abilitato
- Testa il metodo pingback.ping (rischio di amplificazione DDoS)
- Testa il metodo system.multicall (rischio di amplificazione brute force)
- Scoperta REST API:
- Enumera gli endpoint REST API di WordPress accessibili (/wp-json/wp/v2/)
- Testa gli endpoint utenti, articoli, pagine e media
- Segnala vulnerabilità di enumerazione utenti
- Enumerazione utenti:
- Tenta l'enumerazione utenti tramite REST API (/wp-json/wp/v2/users)
- Fallback al metodo di reindirizzamento autore (?author=N)
- Estrae nomi utente e ID per ricognizione
- Monitoraggio aggiornamenti plugin: Controlla i plugin su WordPress.org per le versioni più recenti (nessun credito API utilizzato)
- Rilevamento hardening di sicurezza: Identifica plugin di sicurezza e misure di hardening
Flusso di lavoro e gestione
- Modalità di rilevamento duali: Scansione live + scansione cronologia HTTP funzionano in modo indipendente
- Contatore crediti API: Monitoraggio in tempo reale dell'utilizzo giornaliero dell'API (ripristino a mezzanotte)
- Tracciamento stato: Etichetta i siti come Scansionato, Vulnerabile o Falso positivo con archiviazione persistente
- Esportazione report: Genera JSON strutturato, Markdown formattato e prompt pronti per l'IA
- Normalizzazione URL: Normalizza automaticamente i sottodomini in domini radice (cd.krytter.com → krytter.com)
- Supporto protocollo: Gestisce sia le versioni HTTP che HTTPS dello stesso sito
- Indicatori visivi: Stato codificato a colori con etichette [HTTP HISTORY] e [IMPORTED]
Installazione
Prerequisiti
- Burp Suite Community o Professional (testato su v2023.x+)
- Chiave API WPScan (livello gratuito disponibile su https://wpscan.com/api)
Passaggi
-
Clona o scarica questo repository:
git clone https://github.com/Teycir/BurpWpsScan.git
cd BurpWpsScan
-
Carica l'estensione in Burp Suite:
- Vai su
Extensions → Installed
- Clicca
Add
- Tipo estensione:
Python
- Seleziona il file:
WpsScan.py
- Clicca
Next
-
Configura la chiave API:
- Vai alla scheda "WpsScan" in Burp Suite
- Inserisci la tua chiave API WPScan nel campo di testo in alto
- Clicca il pulsante "Save Key"
- La chiave viene salvata in
C:\burpwpscan_exports\wpsscan_config.txt (Windows prova i drive C-Z) o /tmp/burpwpscan_exports/wpsscan_config.txt (Linux/Mac)
-
Verifica l'installazione:
- Controlla la presenza della scheda "WpsScan" in Burp Suite
- Cerca il messaggio di successo in
Extensions →
Utilizzo
Rilevamento live
- Assicurati che il pulsante "Live Scan: ON" sia attivo (verde)
- Naviga sui siti target tramite Burp (Proxy, Repeater, Scanner, ecc.)
- L'estensione monitora automaticamente il traffico HTTP e rileva i siti WordPress in tempo reale
- I siti rilevati appaiono nell'elenco della scheda WpsScan
Scansione cronologia HTTP
- Clicca il pulsante "Scan HTTP History"
- L'estensione analizza tutto il traffico HTTP passato nella cronologia di Burp
- I siti WordPress trovati vengono aggiunti con l'etichetta [HTTP HISTORY] in blu
- Può aggiungere siti anche se già presenti dal rilevamento live
- Utile per trovare siti WordPress da sessioni precedenti
Perché la scansione della cronologia HTTP è potente:
- Scopre più plugin: La homepage spesso carica solo 2-3 plugin, ma navigare tra più pagine (negozio, blog, contatti) carica plugin diversi
- Esempio: La homepage potrebbe mostrare
contact-form-7, ma la pagina del negozio carica woocommerce, il checkout carica stripe, il blog carica yoast-seo
- Copertura migliore: Scansionare la cronologia HTTP dopo aver visitato 5-10 pagine può scoprire 10-20+ plugin rispetto a 2-3 dalla sola homepage
- Risparmia crediti API: Più plugin trovati = valutazione delle vulnerabilità più accurata senza dover rieseguire la scansione
- Buona pratica: Naviga a fondo sul sito target tramite Burp Proxy, poi clicca "Scan HTTP History" prima di eseguire WPScan
Importazione URL bulk
- Clicca il pulsante "Import URLs"
- Incolla gli URL nell'area di testo (uno per riga)
- Clicca "Import" per aggiungerli all'elenco di scansione
- L'estensione verifica automaticamente che ogni URL sia un sito WordPress valido prima di importarlo
- Solo i siti WordPress confermati vengono aggiunti allo scanner
- Supporta sia URL HTTP che HTTPS
- Perfetto per importare target da strumenti di ricognizione (subfinder, amass, ecc.)
Nota: L'estensione invia richieste HTTP per verificare le firme WordPress (wp-content, wp-includes, ecc.) prima di aggiungere gli URL. I siti non WordPress vengono automaticamente filtrati.
Scansione manuale
Opzione 1 - Doppio clic:
- Fai doppio clic su un sito WordPress rilevato nell'elenco
- Conferma la scansione nella finestra di dialogo
- Attendi il completamento della scansione
Opzione 2 - Interfaccia pulsanti:
- Clicca "Scan All" per scansionare tutti i siti rilevati
Output della scansione
L'estensione fornisce feedback dettagliato in tempo reale durante le scansioni:
Test di sicurezza:
[+] XML-RPC abilitato
[!] Pingback disponibile (rischio DDoS)
[!] Multicall disponibile (amplificazione brute force)
[+] Endpoint REST accessibile: Utenti
[+] Endpoint REST accessibile: Articoli
Vulnerabilità del core:
[+] Core: 2 vulnerabilità
- WP < 6.8.3 - DOM Stored XSS per Autori+ (DIVULGAZIONE DATI SENSIBILI)
- WP < 6.8.3 - Divulgazione dati sensibili per Collaboratori+ (DIVULGAZIONE DATI SENSIBILI)
Vulnerabilità dei plugin:
[+] Plugin 'searchwp': 1 vulnerabilità
- SearchWP < 4.2.6 - Aggiornamento impostazioni per Abbonati+ (NESSUNA AUTORIZZAZIONE)
[+] Plugin 'wp-parsely': 0 vulnerabilità (pulito)
[*] Plugin 'contact-form-7': ultima versione 5.8.4
Vulnerabilità dei temi:
[+] Tema 'rollingstonesofficial': 0 vulnerabilità (pulito)
Indicatori visivi
- [HTTP HISTORY]: Etichetta blu indica che il sito è stato trovato tramite scansione cronologia HTTP
- [IMPORTED]: Etichetta viola indica che il sito è stato importato tramite importazione URL bulk
- Righe codificate a colori:
- Giallo: In scansione
- Verde: Scansione completata
- Rosso: Errore di scansione
- Bianco/grigio alternato: Predefinito
Etichettatura dei siti
- Seleziona un sito dall'elenco
- Usa le caselle di controllo in basso:
- Scanned: Contrassegna come revisionato manualmente
- Vulnerable: Vulnerabilità confermate trovate
- False Positive: Non è effettivamente WordPress o irrilevante
- Le etichette persistono tra i riavvii di Burp
Esportazione report
- Clicca il pulsante "Export Reports"
- I report vengono salvati in:
- Windows:
C:\burpwpscan_exports\scan_YYYYMMDD_HHMMSS\ (prova i drive C-Z)
- Linux/Mac:
/tmp/burpwpsscan_exports/scan_YYYYMMDD_HHMMSS/
- Ogni sito ottiene:
raw_wpscan.json - Risposta API grezza
report.md - Report Markdown formattato
ai_prompt.txt - Pronto per l'analisi IA
Ricerca e filtro
- Casella di ricerca: Filtra i siti per URL
- Menu a discesa Ordina: Ordina per Predefinito, Host, Stato o Tempo di rilevamento
Monitoraggio crediti API
- Contatore Siti scansionati: Mostra "Websites Scanned: X" - tiene traccia del numero di siti scansionati
- Contatore Crediti API: Mostra "API Credits: X" - tiene traccia delle chiamate API effettive
- Indicatori colore (per Crediti API):
- Verde: 0-19 chiamate (sicuro)
- Arancione: 20-24 chiamate (avviso)
- Rosso: 25+ chiamate (limite raggiunto)
- Reset automatico: I contatori si azzerano a mezzanotte (00:00)
- Persistente: Sopravvive ai riavvii di Burp
- Reset manuale: Usa il pulsante "Reset" per azzerare entrambi i contatori
Report Markdown (report.md)
Report di vulnerabilità leggibile dall'uomo con:
- Riepilogo esecutivo
- Risultati di sicurezza (esposizione XML-RPC, REST API)
- Descrizioni dettagliate delle vulnerabilità
- Riferimenti CVE
- Raccomandazioni per la remediation
- Dettagli tecnici
Prompt IA (ai_prompt.txt)
Prompt strutturato per l'analisi IA che include:
- Riepilogo dei risultati della scansione
- Dettagli delle vulnerabilità
- Richiesta di guida allo sfruttamento
- Passaggi di remediation
- Valutazione dell'impatto aziendale
Esportazione JSON (raw_wpscan.json)
Formato leggibile dalla macchina con:
- Metadati della scansione
- Informazioni sulla versione di WordPress
- Dati completi sulle vulnerabilità
- Informazioni su plugin/temi
- Stato di sicurezza XML-RPC
- Scoperta endpoint REST API
- Informazioni sugli aggiornamenti dei plugin
- Statistiche
Chiavi API e ottimizzazione dei crediti
API WPScan
- Livello gratuito: 25 richieste/giorno
- Registrazione: https://wpscan.com/api
- Prezzi: Il livello gratuito è sufficiente per la maggior parte dei penetration test
- Configurazione: Inserisci la chiave API nell'interfaccia dell'estensione e clicca "Save Key"
Utilizzo intelligente dei crediti API
L'estensione utilizza strategie intelligenti per ridurre al minimo il consumo di API:
1. Prioritizzazione intelligente dei plugin (80+ plugin ad alto rischio)
- Scansiona prima i plugin ad alto rischio (WooCommerce, Contact Form 7, Elementor, ecc.)
- Copre il 95% degli exploit reali di WordPress
- Categorie: Moduli, E-commerce, Page Builder, SEO, Sicurezza, Backup, Cache, LMS, Slider, Social, Gestione file, Traduzione
2. Scansione completa ad alto rischio
- Scansiona TUTTI i plugin ad alto rischio trovati (WooCommerce, Elementor, Contact Form 7, ecc.)
- Scansiona fino a 3 plugin aggiuntivi non ad alto rischio
- Logica: Non perdere mai vulnerabilità critiche in plugin pericolosi noti
3. Cache delle risposte API per 24 ore
- I risultati dei plugin/temi vengono memorizzati nella cache per 24 ore
- Persiste anche dopo riavvii di Burp (
wpsscan_api_cache.json)
- Esempio: Scansionare 10 siti con "contact-form-7" = 1 chiamata API (9 in cache)
- Gli indicatori della cache vengono mostrati nei log con prefisso
[CACHE]
4. Salta i siti già scansionati
- "Scan All" salta automaticamente i siti con risultati esistenti
- Previene la riesecuzione accidentale della scansione e lo spreco di crediti
Risparmio crediti API
Prima delle ottimizzazioni:
- Per sito: 1 (core) + 10 (plugin) + 5 (temi) = 16 chiamate API
- 10 siti = 160 chiamate API
Dopo le ottimizzazioni (caso tipico):
- Per sito: 1 (core) + 5 (plugin ad alto rischio) + 1 (tema) = 7 chiamate API
- 10 siti = 70 chiamate API
- Risparmio: riduzione del 56%
Dopo le ottimizzazioni (con cache):
- Primo sito: 7 chiamate API
- Prossimi 9 siti con gli stessi plugin ad alto rischio: 1 chiamata API ciascuno (in cache)
- Totale: 16 chiamate API
- Risparmio: riduzione del 90%
Configurazione
Gestione chiave API
- Le chiavi API sono gestite tramite l'interfaccia utente
- Inserisci la tua chiave API WPScan nel campo di testo in alto dell'estensione
- Clicca "Save Key" per rendere la chiave persistente
- Le chiavi sono memorizzate in:
C:\burpwpsscan_exports\wpsscan_config.txt (Windows prova i drive C-Z) o /tmp/burpwpscan_exports/wpsscan_config.txt (Linux/Mac)
- Non è necessario riavviare Burp dopo aver cambiato la chiave API
Modalità di rilevamento
- Live Scan: Attiva/Disattiva per abilitare/disabilitare il rilevamento in tempo reale
- HTTP History: Clicca il pulsante per scansionare tutto il traffico HTTP passato
- Entrambe le modalità funzionano in modo indipendente con logica separata
Comportamento di scansione intelligente
- Plugin ad alto rischio scansionati per primi: WooCommerce, Elementor, Contact Form 7, ecc.
- Scansione completa: Scansiona tutti i plugin ad alto rischio per evitare di perdere vulnerabilità
- Consapevole della cache: Salta le chiamate API per plugin/temi scansionati di recente
- Deduplicazione: "Scan All" scansiona solo i siti senza risultati esistenti
Normalizzazione URL
- I sottodomini vengono normalizzati in domini radice (cd.krytter.com → krytter.com)
- Le porte standard (80, 443) vengono rimosse dagli URL
- HTTP e HTTPS vengono trattati come voci separate
- La cronologia HTTP può aggiungere siti anche se già presenti dal rilevamento live
Risoluzione dei problemi
L'estensione non si carica
- Funziona sia con l'edizione Community che Professional
- Controlla l'ambiente Python in Burp:
Extensions → Options → Python Environment
- Rivedi i messaggi di errore in
Extensions → Errors
Errori della chiave API
- Verifica che la chiave API sia inserita nel campo di testo dell'interfaccia
- Clicca "Save Key" per rendere la chiave persistente
- Controlla il formato della chiave API (senza virgolette, senza spazi)
- Windows: L'estensione prova i drive C-Z per l'archiviazione, controlla l'output di Burp Extender per il percorso effettivo utilizzato
- Testa la chiave API manualmente:
curl -H "Authorization: Token token=YOUR_KEY" https://wpscan.com/api/v3/wordpresses/64
Nessun sito WordPress rilevato
- Assicurati che Burp Proxy sia attivo e intercetti il traffico
- Visita siti WordPress (non solo la homepage)
- Prova il pulsante "Scan HTTP History" per controllare il traffico passato
- Verifica che Live Scan sia ON (pulsante verde)
- Controlla i pattern di rilevamento nell'output dell'estensione
La scansione fallisce
- Verifica la connettività Internet
- Controlla lo stato dell'API WPScan: https://wpscan.com/
- Rivedi i limiti di frequenza (25/giorno per il livello gratuito)
- Controlla l'output dell'estensione per messaggi di errore
Sicurezza e aspetti legali
⚠️ IMPORTANTE: Esegui scansioni solo su siti web per i quali hai esplicita autorizzazione.
- Questo strumento è solo per test di sicurezza autorizzati
- La scansione non autorizzata potrebbe essere illegale nella tua giurisdizione
- Si applicano i termini di servizio dell'API WPScan
- Ottieni sempre un'autorizzazione scritta prima di eseguire test
Contribuire
I contributi sono benvenuti! Per favore:
- Fai il fork del repository
- Crea un branch per la funzionalità
- Apporta le tue modifiche
- Esegui test approfonditi con Burp Suite
- Invia una pull request
Licenza
Licenza MIT - vedi il file LICENSE per i dettagli
Crediti
- Team WPScan: Per l'eccellente API del database delle vulnerabilità
- PortSwigger: Per l'estensibilità di Burp Suite
- Estensione CopyIssues: Ispirazione per UI/UX
Supporto
Changelog
Vedi CHANGELOG.md per la cronologia delle versioni e gli aggiornamenti.
Versione: 1.3.1
Autore: Teycir (teycirbensoltane.tn)
Ultimo aggiornamento: 2025-11-17
Realizzato da Teycir | teycirbensoltane.tn