// badania · 2020

Reverse tabnabbing w Messengerze na Facebooku

Linki wysłane w Messengerze na facebook.com otwierały się w nowej karcie bez rel="noopener". Otwarta strona mogła po cichu podmienić kartę Facebooka na dowolny adres, na przykład fałszywy ekran logowania. Zgłoszone do Facebooka tego samego dnia, naprawione następnego.

// badanie wykonane prywatnie w 2020 roku, przed założeniem UIES; publikuje je tu autor

#

Czym jest reverse tabnabbing

Gdy strona otwiera link w nowej karcie (target="_blank") bez rel="noopener", nowa strona dostaje odwołanie do karty, z której przyszła (window.opener). Dzięki niemu może zmienić adres tamtej karty. Użytkownik patrzy w tym czasie na nową kartę, więc podmiany w tle nie zauważa.

#

Co znalazłem

Linki wysłane w czacie Messengera na facebook.com (wersja przeglądarkowa) otwierały się w nowej karcie i zachowywały dostęp do karty Facebooka. Żeby to pokazać, umieściłem stronę testową na tymczasowej domenie i wysłałem link do niej w czacie. Po kliknięciu strona testowa przez window.opener przenosiła kartę Facebooka na nieszkodliwy adres, onet.pl.

Karty przeglądarki tuż po kliknięciu: strona testowa otwiera się w nowej karcie, a karta Facebooka zaczyna się przeładowywać
// 1. po kliknięciu w link: strona testowa otwiera się w nowej karcie, karta Facebooka w tle zaczyna się przeładowywać
Karta, w której był Facebook, pokazuje teraz onet.pl
// 2. chwilę później: karta, w której był Facebook, pokazuje już onet.pl

// klatki z filmu nagranego telefonem z ekranu, listopad 2020; adres strony testowej zamaskowany

#

Dlaczego to było groźne

Dowód koncepcji tylko przekierowywał na portal informacyjny. Prawdziwy atakujący zrobiłby co innego:

Ten scenariusz jest opisany, a nie przeprowadzony. Dowód koncepcji używał wyłącznie nieszkodliwego przekierowania.

#

Przebieg

#

Jak zabezpieczyć własną aplikację