¿Puede un sitio web determinar qué sistema operativo o navegador web está utilizando un visitante si el agente de usuario está en blanco / cambiado?

12

Suponga que un visitante de un sitio web ha cambiado su agente de usuario a algo como lo siguiente, pero está usando Linux:

Mozilla/5.0 (Windows NT 6.2; rv:20.0) Gecko/20121202 Firefox/20.0

Supongamos que el sitio web está en manos de un pirata informático malvado. ¿Es este truco suficiente para hacer que el kit de expolit no funcione, o es posible que el pirata informático obtenga el control sobre el visitante (asuma que el módulo flash y el navegador del visitante no están actualizados)?

¿Puede un sitio web determinar qué sistema operativo o navegador utiliza un visitante si el agente de usuario está en blanco / cambiado?

    
pregunta DevRandom 21.12.2013 - 19:57
fuente

6 respuestas

8

Si permite que el sitio web ejecute Javascript, que puede enviar el código al servidor, probablemente haya varias formas de detectar el navegador, ya que los diferentes navegadores manejan cosas ligeramente diferentes.

Aparte de eso, también hay variables de usuario además del agente de usuario que identifican el navegador. Consulte enlace y enlace

    
respondido por el Christian 21.12.2013 - 20:33
fuente
8

Si observa la información recopilada por panopticlick , puede ver que el agente de usuario es solo una de las piezas de datos que recogen. Es posible que otros datos puedan usarse para tomar huellas digitales de manera efectiva en ausencia de un agente de usuario preciso.

También hay técnicas adicionales utilizadas por productos como Beef para usuarios de huellas dactilares, donde un Applet de Java puede (si el usuario lo permite) extraiga una amplia gama de información de una PC.

Por lo tanto, diría que, de forma aislada, el bloqueo del agente de usuario por sí solo no siempre será suficiente para ofuscar la combinación de navegador / sistema operativo que está utilizando.

    
respondido por el Rоry McCune 21.12.2013 - 21:02
fuente
4

Sin querer agregar demasiado a lo que ya se ha dicho, no sería difícil escribir algún javascript que compruebe las funciones disponibles en su navegador y las compare con los navegadores en html5test para encontrar el navegador más probable.

    
respondido por el jackweirdy 21.12.2013 - 22:01
fuente
3

Como otros lo han señalado, el agente de usuario forjado no lo protegerá. Estoy de acuerdo en que usar NoScript y Adblock Plus, y evitar los complementos del navegador Java, son pasos clave.

Para la navegación de alto riesgo, es más seguro trabajar en máquinas virtuales. Aún más seguro es usar LiveCDs en computadoras sin disco. El aislamiento de la red y la unidad USB también son cruciales.

    
respondido por el mirimir 22.12.2013 - 05:20
fuente
2

Honestamente, depende de la vulnerabilidad utilizada. Si se trata de un exploit basado en el navegador, la mayoría de las veces, a un atacante no le importará el User-Agent que está enviando, siempre que haya un exploit para ese navegador. Hay ciertas vulnerabilidades en Metasploit que no envían cargas útiles cuando detectan un navegador incompatible (a través del UserAgent), pero un atacante puede modificar fácilmente esos scripts para atacar ciegamente.

Si desea protegerse de los ataques automáticos, o cuando hace clic en un enlace malicioso por error, recomendaría instalar NoScript para evitar la ejecución de secuencias de comandos, excepto en sitios web de confianza. Incluso las extensiones como AdBlock ayudan: muchas de las vulnerabilidades se envían a través de redes de publicación de anuncios, y AdBlock también bloqueará algunas de estas.

Rory menciona el uso de applets de Beef y Java, mientras que la última actualización de Java brinda protección contra los applets sin firma, y permitir que Java se ejecute en su navegador es la forma más segura de ser explotado. He usado esto durante las pruebas de penetración demasiadas veces, y lo he visto en acción como una carga útil utilizada por los atacantes también.

El punto es que no hay forma de "ofuscarte" realmente por completo en Internet. Puede hacer ciertas cosas que lo hacen más seguro, pero al final del día, la mejor manera de protegerse de tales ataques es simplemente cuidando los enlaces en los que hace clic y recordando que Internet es un lugar peligroso.

    
respondido por el Karthik Rangarajan 22.12.2013 - 03:51
fuente
2

Incluso cuando no se utiliza Javascript o cualquier otra comunicación, es posible hacer huellas digitales de los navegadores solo por otras características de sus solicitudes HTTP.

Una solicitud HTTP puede contener mucho más que solo el User-Agent . Hay muchos más encabezados. El orden en que se envían estos encabezados no está estandarizado, por lo que cada navegador tiene su propio orden. Esta diferencia de comportamiento se puede utilizar para los exploradores de huellas digitales.

El encabezado Accept , por ejemplo, es el primer encabezado enviado en Internet Explorer, aparece después de User-Agent en Firefox y después de Connection: keep-alive en Chrome.

Cuando el encabezado Accept-Encoding incluye sdch , puede estar seguro de que es un navegador basado en webkit, porque actualmente solo webkit admite compresión sdch.

    
respondido por el Philipp 23.12.2013 - 07:35
fuente

Lea otras preguntas en las etiquetas