Artikel ini menjelaskan cara membuat pengenal lintas-browser dengan memanfaatkan kerentanan di empat browser populer: Tor Browser, Safari, Chrome, dan Firefox. Tautan ke demo , kode sumber .
Dua bulan lalu, saat meneliti browser Safari, saya secara tidak sengaja menemukan kerentanan yang memungkinkan saya memeriksa aplikasi tertentu di komputer pengguna langsung dari browser menggunakan JavaScript.
24 24- . . , , .
, IDE Python, PostgreSQL . , , - , , Tor Browser. ?
, . , :
Linux. xdg-open, . Firefox - ;
, 8% ;
15% . , ;
-
. - Tor Browser PR .
. .
, . Deep Linking.
- , , .
Chromium
. ( ). ( ), .
, Extension () . , Extensions ( mailto:) . .
Chrome PDF Viewer, Extension. PDF .
:
location.replace();
input . , , ;
PDF , ;
1-3 , .
Firefox
same-origin policy. . , , JavaScript. about:blank, .
:
window.open;
location.replace;
document . , ;
2-3 .
Safari
, Firefox. , ( location.reload) .
Tor Browser
, -, . , .
Tidak ada jendela tambahan yang dibutuhkan di sini. Kami hanya akan menggunakan elemen iframe dan memeriksa kebijakan asal yang sama .
Anda dapat memeriksa secara pasif: kami memeriksa setiap 10 detik di latar belakang tanpa memerlukan tindakan pengguna.
Anda dapat melakukannya secara aktif: tunjukkan captcha 24 karakter dan periksa setelah setiap penekanan tombol.
kesimpulan
Kerentanan ini telah ada selama beberapa tahun, dan banyak pengembang browser menyadarinya, dilihat dari laporan bug. Namun, saya belum bisa menemukan situs yang menggunakannya.
Tautan: