Cet article décrit comment créer un identifiant multi-navigateurs en exploitant les vulnérabilités de quatre navigateurs courants: le navigateur Tor, Safari, Chrome et Firefox. Liens vers la démo , le code source .
Il y a deux mois, en recherchant le navigateur Safari, je suis tombé par hasard sur une vulnérabilité qui me permet de rechercher une application spécifique sur l'ordinateur d'un utilisateur directement à partir du navigateur en utilisant 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
, -, . , .
Aucune fenêtre supplémentaire n'est nécessaire ici. Nous allons simplement utiliser des éléments iframe et vérifier la politique de même origine .
Vous pouvez vérifier passivement: nous vérifions toutes les 10 secondes en arrière-plan sans nécessiter d'actions de l'utilisateur.
Vous pouvez le faire activement: affichez un captcha de 24 caractères et vérifiez-le après chaque frappe.
conclusions
Cette vulnérabilité existe depuis plusieurs années, et de nombreux développeurs de navigateurs en sont conscients, à en juger par les rapports de bogues. Cependant, je n'ai pas pu trouver de sites qui l'utilisent.
Liens: