18

如果网站的所有者想要尽可能多地跟踪他们的用户是谁,他们可以捕获什么东西(以及如何捕获)。您可能想了解这一点,以便在您创建的站点上捕获信息,或者作为用户,防止站点捕获您的数据。

这是一个起始列表,但我确定我错过了一些重要的:

  1. 推荐人(哪个网页有您进入此处的链接)。这是一个 HTTP 标头。
  2. 您正在浏览的机器的 IP 地址。这适用于 HTTP 标头。
  3. 用户代理(您使用的浏览器)。这是一个 HTTP 标头。
  4. 放置在上次访问中的 Cookie。这是一个标头,仅当 cookie 较早放置且未被用户删除时才可用。
  5. Flash Cookie 放置在之前的访问中。一些用户关闭了 cookie,但很少有人知道如何关闭 Flash cookie。像普通 cookie 一样工作,虽然它依赖于 Flash。
  6. 网络错误。在第三方提供的页面上放置一些小东西(如透明的单像素 GIF)。某些第三方(例如 DoubleClick)将拥有自己的 cookie,并且可以与用户进行的其他访问相关联(收费!)。

这些是我想到的常见的,但肯定有很多不寻常的。例如,这个:

  1. 用户时钟上的时间。使用 JavaScript传输它。

...我在这里阅读之前从未听说过。


稍后添加(阅读内容后):

请尝试每个答案只放一个项目,然后我们可以使用投票来挑选更好/更有趣的项目。下面的列表可能不太有效。

嗯...下次我问这样的问题时,我会设置得更好。


以下是我得到的一些最佳答案:

  1. James指出,IE 传输的是 .NET 框架版本。
  2. AviewAnew指出,您可以找到您访问过的网站
  3. Mecki指出可以确定屏幕分辨率。
  4. Mecki 指出,您的浏览器缓存的任何自动填充信息都可以通过创建隐藏字段然后使用 JavaScript 读取来确定。
  5. jjrv指出 Flash 可以列出用户机器上的字体。
  6. Kent指出,您可以找出一个人访问过哪些网站
  7. Silver Dragon指出,您可以使用 Flash 和 AJAX 确定鼠标在浏览窗口中的位置。
  8. Jim指出,您可以通过 HTTP 标头判断用户在浏览器中配置的语言。
  9. Jim还提到,您可以检测人们是否正在使用 Greasemonkey 或类似的东西来修改页面。
4

12 回答 12

3

对您的原作的修改:

  1. 可以转义(我认为它在某些浏览器中是一个选项)
  2. 只有通过代理才能避免(javascript可以通过智能环视来避免这一点)
  3. 不可靠,容易伪造。
  4. 并假设它没有被浏览器关闭(会话cookie)擦除并且cookie在同一个域/路径中

真正恶心的是

  1. 使用 javascript 探测您的网络/局域网
  2. 使用 javascript 从防火墙后面访问您的防火墙并调整其设置(不是开玩笑)
  3. 使用“已访问链接”的特性来确定已访问的 url 列表中的哪些。(深度历史探索!)
  4. 天知道如果用户有 Windows/IE/ActiveX
于 2008-09-17T20:44:15.637 回答
2
  • 有一个标头可以包含有关用户正在使用的代理服务器的信息,还可以包含用户的 IP 地址(在这种情况下,另一个 IP 是代理之一)
  • 屏幕分辨率、操作系统、颜色深度、任务栏大小(比较最大和当前分辨率)、如果启用了 Java、抗锯齿字体、插件全部通过 Javascript 安装
  • Java 小程序也可以为您提供大量信息,但我不知道是什么。
  • 您访问过的网站
  • 本地网络的详细信息,例如活动主机、Web 服务器。论文还概述了驱动式打印、驱动式路由器修改

而这一切都假设攻击者不会执行任意代码

于 2008-09-17T20:42:21.273 回答
2

Javascript 可以获得比时间更多的信息。例如,屏幕分辨率(+ 颜色深度)就是其中之一。

请参阅使用 JS 获取屏幕分辨率

JS 可以捕获的所有内容都可以使用 AJAX 进行传输,而无需用户进行任何交互。其他示例是(并非所有浏览器都适用):

  • 它可以查看您的浏览器历史记录,例如,如果您后退或前进,您的浏览器会转到哪个 URL。

  • 您的浏览器的语言(注意:通常 HTTP 请求还会包含您请求的页面的首选语言列表。但是,此列表是用户可在许多浏览器的首选项中编辑的,而 JS 实际上可以找出您的语言翻译浏览器正在界面中使用)

  • 如果您的浏览器自动填写表单字段(例如电子邮件、用户名等),JS 实际上可以在您提交表单之前读取您的浏览器在字段中输入的内容(因此它甚至可以读取您的浏览器预先填写的内容,即使您根本没有提交表单)。

Java 小程序也可以收集一些信息并将其传输,尽管没有多少信息是您在别处无法获得的。由于很容易获得访问者的 IP,因此可以找出他正在使用的在线服务(在地址服务中查找 IP,例如美国的 IANA 或欧洲的 RIPE 等),并且有将 IP 转换为国家/地区的服务,因此可以找出用户最有可能当前所在的位置。

于 2008-09-17T20:49:45.377 回答
1

一些可能感兴趣的附加信息:

  • 使用 IP 地址,可以解析 IP 所属的主机名、网络提供商/组织以及粗略的地理位置。
  • 使用引用者、指定客户端进行的查询列表和可靠的 cookie 机制,可以解析访问者的路径(甚至通过 AJAX 和/或转发器页面点击到其他方)
  • 使用flash,结合AJAX,可以抓取浏览窗口内的鼠标位置
  • 用户代理可能包含有关操作系统、已安装的 .NET 框架和其他好奇心的信息
于 2008-09-17T20:46:25.930 回答
0

.NET 框架版本在 IE 中的用户代理中传输。

于 2008-09-17T20:38:59.957 回答
0
  1. 浏览器能否支持JS
  2. 浏览器是否支持flash
  3. 操作系统平台
  4. 屏幕分辨率
  5. 支持 CSS
  6. 支持表格
于 2008-09-17T20:41:07.953 回答
0

Flash 可以为您提供用户机器上的字体列表等。当鼠标停在广告上而不点击它时,Javascript 可以发送信息。您还可以获取窗口大小、站点是否在框架中打开、弹出窗口或特定插件是否被阻止、查找 Javascript 功能可以判断用户代理标头是正确的还是伪造的……

于 2008-09-17T20:43:25.610 回答
0
  • Accept-Language您通常可以通过HTTP 标头确定用户使用哪种语言。
  • Accept您可以通过查看HTTP 标头来确定是否安装了某些应用程序和浏览器插件。
  • User-Agent通过HTTP 标头的浏览器版本/补丁级别和 .NET 框架版本。
  • 您的 ISP/雇主和地理位置(通过 IP 地址)。
  • 您是否通过 CSS 和/或定时加载事件访问了特定的 URL。如果特定网站具有特定于用户的 URI,这可能会披露您是否是该网站上的特定用户。
  • 通过测量 em 和/或 Flash 可以获得哪些字体。
  • 通过 JavaScript 的屏幕分辨率、窗口大小、时区。
  • 通过 JavaScript 移动鼠标和击键的位置。例如,您可以查看人们在文本框中输入的内容,即使他们没有点击提交。
  • 许多 UserJS/Greasemonkey 脚本会泄露信息(例如,如果您过滤掉某些人,它所配置的站点可能会找出谁)。
于 2008-09-17T20:46:32.653 回答
0

据我所知,可以通过 javascript 获取剪贴板数据。不知道这些天默认情况下它有多大可能,但不久前它风靡一时。我相信IE仍然允许它。

人们习惯在剪贴板中留下非常重要的数据,所以这很糟糕。

于 2008-09-19T02:57:06.560 回答
0

如果您担心自己的人身安全(我不确定这是否是您真正想要的,所以如果这被误导了,我深表歉意),您可以随时使用 Tor 网络。如果您使用 Firefox,您可以使用Torbutton一键启用。它具有禁用 Flash 的好处(对某些人来说是缺点),因为否则无法防止 Flash 信息泄漏。

于 2008-09-17T20:52:21.687 回答
0

我需要挖掘链接,但是如果用户使用的是 IE,并且安装了常见的软件标题,那么确定安装了哪些是可能的。

于 2008-09-19T02:45:52.517 回答
0

迟到了这里,网站还可以扫描你的端口,找到你正在运行的软件!

于 2020-07-09T03:03:27.140 回答