Suivi inter-navigateurs basé sur l'itération sur des gestionnaires de protocoles externes

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 .





, Windows Mac, . .





. .





, . Deep Linking.





Zoom d'ouverture
Zoom

- , , .





. . . CORS , iframe .





Chromium

. ( ). ( ), .





, Extension () . , Extensions ( mailto:) . .





Chrome PDF Viewer, Extension. PDF .





:





  1. location.replace();





  2. input . , , ;





  3. PDF , ;





  4. 1-3 , .





Firefox

same-origin policy. . , , JavaScript. about:blank, .





:





  1. window.open;





  2. location.replace;





  3. document . , ;





  4. 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:





  • Démo





  • La source





  • Article en anglais





  • Rapport de bogue pour Chromium





  • Rapport de bogue pour Firefox





  • Rapport de bogue pour Safari





  • Rapport de bogue pour le navigateur Tor








All Articles