Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
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
IFA — PoC che espone una vulnerabilità critica di IndexedDB che consente un attacco di flooding del disco sfruttando la mancanza di restrizioni. | Kitploit
Strumenti/GitHubGitHub/jofpin/ifa
Analisi delle VulnerabilitàExploitSicurezza WebApprendimento e Formazione
GitHubjofpin/ifa

IFA

PoC che espone una vulnerabilità critica di IndexedDB che consente un attacco di flooding del disco sfruttando la mancanza di restrizioni.

Vedi Repository
2721 anno faRevisionato da Kitploit

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
Sito web

IFA

IFA

Attacco di Inondazione del Disco tramite IndexedDB

IFA è una Prova di Concetto (PoC) che dimostra come un attaccante possa sfruttare l'API IndexedDB nei browser web più diffusi per effettuare un attacco di inondazione del disco. Questo attacco sfrutta in particolare la mancanza di restrizioni in IndexedDB, consentendo al browser di memorizzare dati senza limiti effettivi, consumando rapidamente lo spazio su disco dell'utente iniettando centinaia di MB al secondo. Ciò può portare a un grave degrado delle prestazioni del sistema, all'esaurimento della memoria e, nei casi estremi, al crash completo del sistema.

Perché Dovresti Preoccuparti?

In un mondo in cui ci affidiamo sempre più alle applicazioni web per produttività e intrattenimento, una vulnerabilità che può rendere il tuo dispositivo inutilizzabile in pochi minuti è una minaccia seria. IFA rivela come la mancanza di restrizioni in IndexedDB possa essere sfruttata per creare uno scenario in cui un utente perde il controllo del proprio sistema a causa di un semplice script.

Impatto Diretto sugli Utenti

L'esecuzione di IFA può avere i seguenti effetti devastanti:

  1. Degrado Massiccio delle Prestazioni: La memorizzazione massiccia e continua di dati in IndexedDB satura le operazioni di input/output del disco, portando a una significativa riduzione della velocità del sistema. Gli utenti sperimenteranno tempi di risposta estremamente lenti, rendendo difficile l'uso normale dei loro dispositivi.

  2. Esaurimento Rapido dello Spazio di Archiviazione: In pochi minuti, l'attacco può consumare gigabyte di spazio su disco. Una volta esaurita la memoria, il sistema diventa incapace di eseguire operazioni di base come salvare documenti, installare aggiornamenti o persino aprire nuove applicazioni.

  3. Instabilità e Crash del Sistema: Quando il disco è completamente pieno, il sistema operativo può diventare instabile o addirittura bloccarsi, causando la perdita di dati non salvati e potenzialmente danneggiando file di sistema critici. Gli utenti colpiti potrebbero dover ripristinare il sistema o persino eseguire una reinstallazione completa del sistema operativo.

Browser Vulnerabili

IFA colpisce un'ampia gamma di browser:

  • Browser Vulnerabili: Chrome, Opera, Edge, Brave, Safari e (tutti i browser basati su Chromium).
  • Browser Sicuro: Firefox si è dimostrato resistente a questo attacco grazie alle sue restrizioni più severe sull'archiviazione di IndexedDB.

Architettura dell'Attacco

IFA utilizza una strategia attentamente progettata per sfruttare la mancanza di restrizioni nell'API IndexedDB, massimizzando l'impatto dell'attacco mentre impedisce al browser di crashare prematuramente:

  1. Generazione di Identificatori Univoci: Lo script genera più database con nomi casuali, assicurando nessun conflitto e che ogni database possa memorizzare grandi quantità di dati.

  2. Iniezione di Blob da 8 MB: IFA utilizza blob (frammenti di dati di grandi dimensioni) di 8 MB composti da testo ripetitivo e dati immagine. Questa scelta di dimensione è cruciale poiché consente di memorizzare grandi volumi di dati in modo efficiente senza causare un crash immediato del browser. Utilizzando blob di una dimensione specifica, IFA può inondare il disco dell'utente in modo coerente e persistente, eludendo i meccanismi di sicurezza basati sul buffer di memoria della scheda del browser che potrebbero fermare l'attacco se vengono rilevate operazioni di scrittura eccessive o troppo rapide.

  3. Cicli di Memorizzazione dei Dati: I blob da 8 MB vengono memorizzati ripetutamente nell'oggetto IndexedDB, creando un flusso continuo di dati che riempie rapidamente lo spazio su disco. IFA inietta centinaia di MB al secondo, assicurando un rapido consumo dello spazio di archiviazione dell'utente mentre evita crash immediati del browser.

  4. Saturazione del Disco: Il processo continua indefinitamente, memorizzando dati fino all'esaurimento dello spazio su disco, portando a una serie di problemi che possono paralizzare il sistema.

Potenziali Scenari di Attacco

L'exploit IFA dimostra come una grave vulnerabilità nell'API IndexedDB possa essere trasformata in un'arma. Ecco alcuni scenari in cui un attaccante potrebbe sfruttare questa PoC per causare danni significativi:

  1. Sfruttamento tramite Cross-Site Scripting (XSS): Se un attaccante scopre una vulnerabilità XSS su un sito web legittimo, potrebbe iniettare lo script IFA nel sito. Quando gli utenti visitano la pagina compromessa, lo script verrebbe eseguito automaticamente nei loro browser, riempiendo rapidamente lo spazio su disco. Ciò potrebbe portare a un significativo rallentamento del sistema o addirittura a un crash, specialmente per gli utenti che non sono a conoscenza dell'attacco.

  2. Librerie JavaScript di Terze Parti Compromesse: Molti siti web e applicazioni web si affidano a librerie JavaScript di terze parti. Se un attaccante compromettesse una di queste librerie iniettando lo script IFA, qualsiasi sito web che utilizza la libreria interessata potrebbe diventare inconsapevolmente un vettore per l'attacco. Ciò comporterebbe un'inondazione diffusa del disco su qualsiasi dispositivo utente che carica lo script compromesso.

  3. Estensioni del Browser Dannose: Gli attaccanti potrebbero sviluppare o compromettere estensioni del browser per includere lo script IFA. Una volta installata, l'estensione potrebbe eseguire lo script silenziosamente in background, inondando lo spazio su disco dell'utente ogni volta che apre il browser. Questo scenario è particolarmente pericoloso poiché le estensioni del browser hanno spesso permessi estesi.

  4. Annunci Web Infetti: Un attaccante potrebbe inserire un annuncio pubblicitario dannoso contenente lo script IFA su un sito web legittimo. Quando gli utenti caricano la pagina con l'annuncio infetto, lo script verrebbe eseguito e inizierebbe a consumare lo spazio su disco. Questo metodo potrebbe colpire un gran numero di utenti, specialmente su siti web ad alto traffico.

  5. Campagne di Phishing: Gli attaccanti potrebbero inviare email di phishing che indirizzano le vittime a un sito web che ospita lo script IFA. Una volta che il bersaglio visita il sito web dannoso, lo script verrebbe eseguito e inizierebbe a riempire lo spazio su disco. Questo metodo potrebbe essere particolarmente efficace in attacchi mirati contro individui o organizzazioni.

Demo: Vedi IFA in Azione

Per aiutarti a comprendere meglio l'impatto di IFA, ho creato una dimostrazione su un sito web dedicato. Questa demo web è progettata per permetterti di vedere facilmente l'exploit in azione e comprenderne i potenziali effetti.

  1. Esplora la Demo Live: Visita https://ifa.run per interagire con la demo live. Questo ti permetterà di sperimentare in prima persona come questo attacco possa influenzare il tuo browser e sistema. Ho creato questa demo per garantire che chiunque possa testare e vedere facilmente le conseguenze dell'exploit. Ricorda di eseguire questo test con cautela e in un ambiente controllato.

  2. Demo di Iniezione Nascosta: Per una dimostrazione più sottile, visita https://ifa.run/hidden.html. Questa versione opera in modo invisibile, eseguendo direttamente l'iniezione senza alcuna grafica visibile o interfaccia utente come nella demo principale.

  3. Guarda il Video della PoC: Se preferisci una spiegazione guidata, ho creato anche un video dimostrativo. Nel video, ti accompagno nell'esecuzione di IFA e ti mostro gli effetti che può causare: Video della PoC.

Testare la PoC in Locale

Se sei interessato a testare la PoC in locale, segui questi semplici passaggi. Ti guideremo nell'inclusione dello script IFA.js e nell'esecuzione dell'exploit con dati personalizzati.

Passo 1: Includere lo Script

Prima di tutto, devi includere lo script IFA.js nel tuo file HTML. Hai due opzioni:

  1. Script Locale: Se hai scaricato il file IFA.js, puoi includerlo direttamente:
root@kitploit:~
<script  src="IFA.js"></script>
  1. Link CDN: In alternativa, puoi caricare lo script da un CDN, che è più veloce e comodo:
root@kitploit:~
<script  src="https://cdn.jsdelivr.net/gh/jofpin/IFA/IFA.js"></script>

Usare il link CDN è particolarmente utile per testare l'exploit su diversi siti web o applicazioni web senza dover ospitare lo script da soli.

Passo 2: Personalizzare ed Eseguire l'Exploit

Una volta incluso lo script, sei pronto per eseguire l'exploit. Lo script IFA ti permette di personalizzare i dati che verranno iniettati. Ecco come fare:

  1. Inserisci la tua Immagine in Base64: Converti un'immagine in formato Base64 e inseriscila nel campo img.

  2. Inserisci il tuo Testo Personalizzato: Inserisci qualsiasi testo desideri utilizzare nel campo txt.

Ecco un esempio di come eseguire l'exploit:

root@kitploit:~

IFA.run({
   img: "data:image/webp;base64,UklGRpZBAwBXRUJQV...", // Inserisci qui la tua immagine in Base64
   txt: "IFA" // Inserisci qui il tuo testo personalizzato
});

Spiegazione:

  • img: Qui inserisci l'immagine codificata in Base64. L'immagine verrà iniettata direttamente, garantendo che l'exploit venga eseguito più velocemente ed efficientemente evitando richieste esterne al server.

  • txt: Qui inserisci il testo che verrà memorizzato nel database. Puoi personalizzare questo testo per testare diversi scenari.

Passo 3: Osserva i Risultati

Dopo aver eseguito lo script, osserva come si comporta l'exploit. Dovresti notare:

  • Utilizzo dello Spazio su Disco: Lo spazio su disco dovrebbe riempirsi rapidamente mentre lo script scrive continuamente dati in IndexedDB.

  • Prestazioni del Sistema: Potresti osservare un significativo degrado delle prestazioni del sistema, con tempi di risposta più lenti e potenziale instabilità.

  • Comportamento del Browser: L'exploit dovrebbe evitare di crashare immediatamente il browser, mantenendo invece l'attacco persistente, portando infine al riempimento completo del disco.

Note Importanti:

  • Usa un Ambiente Controllato: Assicurati di testare in un ambiente controllato, poiché questa PoC può causare instabilità del sistema.

  • Codifica Base64: Utilizzando Base64 per l'immagine, l'iniezione è gestita localmente, prevenendo potenziali errori e rendendo l'exploit più efficace.

Raccomandazioni per il Miglioramento dei Browser

L'esposizione di questa vulnerabilità dovrebbe servire come un invito all'azione per gli sviluppatori di browser. Ecco alcune misure che potrebbero essere implementate per prevenire tali attacchi:

  • Implementazione di Limiti di Quota: I browser dovrebbero stabilire limiti rigidi sulla quantità di archiviazione che un'applicazione web può utilizzare tramite IndexedDB. Ciò impedirebbe a uno script dannoso di consumare tutto lo spazio su disco.

  • Rilevamento di Comportamenti Anomali: I browser dovrebbero sviluppare meccanismi per rilevare e bloccare comportamenti anomali, come la creazione massiccia di database o la memorizzazione di grandi quantità di dati in un breve periodo.

  • Avvisi per l'Utente: Quando viene rilevato un utilizzo di archiviazione insolito, il browser dovrebbe avvisare l'utente e offrire l'opzione di bloccare l'applicazione che tenta di sfruttare la vulnerabilità.

Considerazioni Finali

La creazione di IFA è uno sforzo per mostrare cosa potrebbe accadere se non vengono prese le misure necessarie per proteggere le tecnologie web che utilizziamo ogni giorno. IFA non è solo una dimostrazione tecnica, ma un avvertimento a tutta l'industria tecnologica: nella nostra ricerca di innovazione, non dobbiamo compromettere la sicurezza.

Il codice ha il potere di costruire o distruggere. Assicuriamoci che la nostra eredità sia di costruzione, non di distruzione. - Jose Pino

Dichiarazione di Non Responsabilità

Questa PoC è intesa esclusivamente per scopi educativi e di ricerca. La sua esecuzione dovrebbe avvenire in ambienti controllati e non dovrebbe essere utilizzata su sistemi di produzione o dispositivi contenenti dati importanti. L'uso improprio di questa PoC potrebbe causare danni significativi, ed è responsabilità dell'utente assicurarsi che venga impiegata eticamente.

Licenza

Il contenuto di questo progetto è rilasciato sotto la licenza Creative Commons Attribuzione 3.0, e il codice sorgente sottostante utilizzato per formattare e visualizzare tale contenuto è rilasciato sotto la licenza MIT.

Copyright (c) 2024 by Jose Pino

Scarica lo strumento