
Cercatore di cross-site leaks (XS-Leaks)
XSLeaker è uno strumento che aiuta a trovare XS-Leaks sui siti web. Lo strumento confronta i valori delle risorse per cui è nota una tecnica di leak (ad es. il numero di iframe) tra diversi stati.
XSLeaker è composto da due componenti: un'estensione Chrome usata per raccogliere i valori delle risorse in diversi stati e un server node.js usato per confrontare e visualizzare i risultati.
I seguenti valori delle risorse vengono controllati per individuare differenze:
Supponendo che l'utente voglia testare n stati diversi, è necessario eseguire la seguente configurazione:
Creare n profili Chrome, uno per ogni stato. Poiché i profili possono essere riutilizzati, l'utente deve creare nuovi profili Chrome solo se vuole testare più di n stati.
Installare l'estensione Chrome XSLeaker per ogni profilo.
Questa configurazione deve essere eseguita una sola volta, a meno che l'utente non voglia testare più di n stati.
Aprire n finestre del browser con profili diversi.
Attivare l'estensione del browser in ogni finestra. Questo viene fatto con il pulsante "Activate" nel popup.
Facoltativamente, scegliere un nome per lo stato (ad es., account admin). Questo è consigliato perché rende molto più facile identificare gli stati nei risultati.
Configurare i diversi stati per il sito web che deve essere testato, uno per ogni finestra (ad es., accedendo come utenti diversi).
Scegliere una finestra e attivare la Master Mode tramite l'interruttore nella finestra del popup. Le altre finestre ora seguono i cambiamenti di URL dalla finestra master.
Nella finestra master, navigare al sito che deve essere testato. Ogni altra finestra naviga alla stessa pagina.
Avviare il test con un clic sul pulsante "Send Results" nel popup della finestra master.
Navigare all'interfaccia web (ad es. http://localhost:3000) fornita da Node.js per verificare le differenze.
Per il test successivo dello stesso sito web, l'utente deve solo navigare all'URL di destinazione con la finestra master e premere di nuovo il pulsante "Send Results".
Clicca sull'immagine per vedere XSLeaker in azione:
L'interfaccia web ospitata con node.js ha le seguenti pagine
Results: Mostra i risultati dei test più recenti
History: Mostra tutti i test eseguiti in passato. Cliccando su una riga della tabella vengono mostrati i risultati del test.
Automation: La pagina Automation consente all'utente di caricare un elenco di URL da testare. Il pulsante "Start Test" porta ogni finestra del browser connessa a un URL dopo l'altro ed esegue il test. I risultati possono essere controllati nella cronologia.
Nota: Devi prima configurare gli stati che vuoi testare nelle diverse finestre.
Attualmente c'è un bug per cui le differenze salvate nel database non sono sempre corrette. Ricontrolla le differenze guardando i risultati del test dopo il test automatico.
Test: Un banco di prova che può essere usato per verificare che XSLeaker funzioni correttamente. Su http://localhost:3000/tests si può scegliere uno stato. Poi si possono impostare proprietà dipendenti dallo stato. Una volta aperte diverse finestre del browser con stati diversi, naviga al sito di test (http://localhost:3000/tests/testsite) con la finestra master ed esegui il test.

L'immagine mostra l'architettura di XSLeaker. Le diverse finestre del browser con stati diversi si connettono all'applicazione node.js tramite WebSocket. Il server fornisce un'interfaccia web dove l'utente può controllare i risultati dei test (vedi Interfaccia web di XSLeaker). Il server salva i risultati dei test in un database SQLite.