假设某个网站的访问者已经将他的用户代理更改为如下内容,但他使用的是 linux:
Mozilla/5.0 (Windows NT 6.2; rv:20.0) Gecko/20121202 Firefox/20.0
假设该网站在一个邪恶的黑客手中。这个技巧是否足以使 expolit-kit 无法运行,或者黑客是否有可能控制访问者(假设访问者的 flash 模块和浏览器已过时)?
如果用户代理为空白/更改,网站能否确定访问者正在使用什么操作系统或 Web 浏览器?
假设某个网站的访问者已经将他的用户代理更改为如下内容,但他使用的是 linux:
Mozilla/5.0 (Windows NT 6.2; rv:20.0) Gecko/20121202 Firefox/20.0
假设该网站在一个邪恶的黑客手中。这个技巧是否足以使 expolit-kit 无法运行,或者黑客是否有可能控制访问者(假设访问者的 flash 模块和浏览器已过时)?
如果用户代理为空白/更改,网站能否确定访问者正在使用什么操作系统或 Web 浏览器?
如果您允许网站运行可以将代码发送回服务器的 Javascript,则可能有多种方法可以检测浏览器,因为不同的浏览器处理的事情略有不同。
除此之外,除了用户代理之外,还有用于识别浏览器的用户变量。见http://www.quirksmode.org/js/detect.html和http://www.quirksmode.org/js/support.html
如果您查看panopticlick收集的信息,您会发现 useragent 只是他们收集的数据之一。在没有精确的用户代理的情况下,其他数据可能会被用来有效地识别你的指纹。
像Beef这样的产品还使用其他技术对用户进行指纹识别,其中 Java Applet 可以(如果用户允许运行)从 PC 中提取大量信息。
所以我想说,单独阻止用户代理并不总是足以混淆您正在使用的浏览器/操作系统组合。
不想在已经说过的内容上添加太多内容 - 编写一些 javascript 来检查浏览器中可用的功能并将它们与html5test上的浏览器进行比较以找到最可能的浏览器并不难。
正如其他人所指出的,伪造用户代理不会保护你。我同意使用 NoScript 和 Adblock Plus 并避免使用 Java 浏览器插件是关键步骤。
对于高风险浏览,在虚拟机中工作更安全。更安全的是在无盘计算机中使用 LiveCD。网络和 USB 驱动器的隔离也很重要。