Home / News / News / Che cos'è il Tabnabbing
Mattepuffo

Che cos'è il Tabnabbing

Che cos'è il Tabnabbing

Argomento che trovo interessante e quindi vi riporto un riassunto di varie cose lette qua e la.

Il Tabnabbing è considerata una nuova minaccia del Web 2.0.

Non parliamo di virus, worm, trojan, ecc......ma di una spece di pishing evoluto.

In pratica l'utente naviga su un sito che apparentemente sembra normale, ma non lo è.

Quando la finestra oerde il focus questa cambia e si trasforma in un'altra pagina.

Questo trucco può essere per scopi loschi.

Lo scenario è questo:

  • avete molti tab aperti
  • quando cambiate tab la pagina in questione cambia
  • se ci ripassate dopo un pò di tempo può essere che non vi ricordate che pagina era

Quindi se la pagina cambia e si trasforma in una uguale a quella di Gmail (ad esempio) voi magari fate il login pensando che il tempo di sessione sia scaduto, inviando prò informazioni utili all'attaccante!!

Come se non bastasse verrete magari reindirizzati sulla pagina giusta per non farvi insospettire: geniale!!

Nel sito dell'autore potete anche trovare un esempio concreto.

Provate ad andarci, a cambiare tab e poi a ritornarci.

Ovviamente è solo una dimostrazione quindi non c'è nessun pericolo.

Ma come funziona in pratica?

Prima di tutto dovete procurarvi la libreria bgattack.js da qua.

Poi innanzitutto ho notato l'uso di questi due eventi:

window.onblur = function() {

TIMER = setTimeout(changeItUp, 5000);

}

window.onfocus = function() {

if(TIMER)

{

clearTimeout(TIMER);

}

}

onblur si attiva quando la finestra perde il focus.

Se la perdita è maggiore a 5 secondi viene invocata la funzione changeItUp che si occupa di cambiare la pagina.

Vediamo questa funzione:

function changeItUp() {

if(HAS_SWITCHED == false)

{

createShield("https://mail.google.com");

setTitle("Gmail: Email from Google");

favicon.set("https://mail.google.com/favicon.ico");

HAS_SWITCHED == false

}

}

Se il cambiamento non è ancora avvenuto il codice svolge tre operazioni:

  • createShield() cambia i contenuti del sito; in questo caso aggiunge un <div> davanti ai contenuti esistenti oscurandoli con un tag <img> che raffigura Gmail
  • setTitle() cambia il titolo della pagina
  • favicon.set cambia la favicon

Qui potete un altro esempio completo.

 

Diciamo che questa è una gran bella invenzione, ma ha dei limiti.

Prima di tutto per colpire ha bisogno che l'utente abbia molti tab e finestre aperte: più ne ha e più è facile che si scordi.

Inoltre c'è la remota possibilità che Javascript sia disttivato nel browser, e in questo caso il trucco non funzionerà (o meglio, si deve ricorrere all'Html, ma non è la stessa cosa).