Seguimiento entre navegadores basado en iterar sobre manejadores de protocolos externos

Este artículo describe cómo crear un identificador entre navegadores aprovechando las vulnerabilidades en cuatro navegadores populares: Tor Browser, Safari, Chrome y Firefox. Enlaces a demostración , código fuente .





Hace dos meses, mientras investigaba el navegador Safari, tropecé accidentalmente con una vulnerabilidad que me permite buscar una aplicación específica en la computadora de un usuario directamente desde el navegador usando JavaScript.





24 24- . . , , .





, IDE Python, PostgreSQL . , , - , , Tor Browser. ?





, . , :





  • Linux. xdg-open, . Firefox - ;





  • , 8% ;





  • 15% . , ;





  • , ;





  • . - Tor Browser PR .





, Windows Mac, . .





. .





, . Deep Linking.





Zoom de apertura
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

, -, . , .





Aquí no se necesitan ventanas adicionales. Solo usaremos elementos de iframe y verificaremos la política del mismo origen .





Puede verificar pasivamente: verificamos cada 10 segundos en segundo plano sin requerir acciones del usuario.





Puede hacerlo de forma activa: muestre un captcha de 24 caracteres y compruébelo después de cada pulsación de tecla.





conclusiones

Esta vulnerabilidad existe desde hace varios años y muchos desarrolladores de navegadores son conscientes de ella, a juzgar por los informes de errores. Sin embargo, no he podido encontrar sitios que lo utilicen.





Enlaces:





  • Manifestación





  • Fuente





  • Articulo en ingles





  • Informe de error de Chromium





  • Informe de error para Firefox





  • Informe de error para Safari





  • Informe de error para el navegador Tor








All Articles