某些网站点击链接时使用的“隐藏”重定向页面是什么?

某些网站点击链接时使用的“隐藏”重定向页面是什么?

我不知道该如何表述这个问题。很久以前,我在一个论坛上看到一条规则,规定用户必须在链接中替换httphxxp,以防止服务器(或某人)监视他们。我注意到有些网站有一个不引人注意的“重定向”页面,用户点击链接后会进入另一个网站。这是怎么回事?

我刚刚使用 Slack.com,发现有一个链接,https://pr.to/example/当我点击该链接时,我被带到一个中间页面(https://slack-redirect/link?url=https://pr.to/example/&v=3或类似页面),然后被带到最终页面。这是什么?

我还注意到,当我将鼠标悬停在链接上时,我的浏览器通常不会显示中间页面的 URL(但有时会显示)。我使用的是最新版本的 Firefox。这种被带到与 URL 所示不同的页面的情况难道不是安全漏洞吗?

答案1

这些链接是使用其他技术操纵的,并非简单的 HTML。网站上使用的技术可能千差万别,PHP、Javascript 等。网站的所有者/运营商已努力使这些链接看起来像普通链接,但由于底层脚本,它们的功能截然不同。不幸的是,即使使用简单的 HTML,也无法保证您看到的文本实际上是链接将带您到达的地方。

许多论坛提供这种重定向,以警告用户他们可能点击了危险的内容,并且超出了论坛运营商的控制范围。恶意用户可能会在非常合法的网站论坛上发布病毒链接。该链接可能看起来是合法的,但这种警告很有用,可以告诉论坛用户他们最终会到达哪里,并且通常会为他们提供放弃点击链接的机会。

当其他网站意识到他们正在失去受众时,他们会利用这种重定向作为机会来产生最后一点广告收入。

总而言之,这项技术本质上并不是邪恶的或坏的,它实际上取决于网站所有者及其应用程序/目标。

这实际上不是一个安全漏洞,但它可能被视为欺骗或干扰正常的浏览预期。不幸的是,作为用户,您几乎没有追索权,如果您知道某个网站使用它们,您可以拒绝点击会生成这些重定向页面的外部链接。您也可以选择自己手动输入 URL。

答案2

出于多种原因需要使用重定向。

一个原因是它增加了隐私。当您点击链接时,您的浏览器会发送一个 referer - 您来自的网站。这意味着您要访问的网站的所有者确切地知道您来自哪里。中间的重定向页面掩盖了这一点。假设您正在查看的页面是 SO。SO 不使用重定向链接。这意味着每当从 SO 链接到外部站点并且您点击该链接时,外部站点的所有者都确切地知道您是从哪个 SO 答案(或问题)来到他的站点的。如果存在重定向,第三方只会知道您来自 SO 的某个地方,而不再知道您来自哪里。如果使用了 SE 重定向,他可能只会知道您来自整个 SE 网络内的某个地方。

另一个原因可能是安全性。一些网站使用 GET 参数来存储会话 ID(这在过去非常流行,因为当时用户不使用 cookie 是一个更大的问题)。将会话 ID 泄露给第三方是危险的,因为它允许帐户(暂时)被接管。重定向通过不泄露会话 ID 解决了这个问题。

但还有其他原因。网站所有者可能想跟踪用户点击了哪些链接。这通常是不可能的。重定向可以轻松用于计算点击哪个链接的频率。

您还可以在中间显示信息页面。这样做有多种原因 - 通知用户他离开了您的网站(和精选内容),或者在用户离开时显示附加广告。

原因多种多样,但没有哪一个是完全坏的。

有几种技术可以用来使用户第一眼看到时就掩盖这一点。

<a href="redirect.php?url=example.org">example.org</a>

请注意,在此示例中,您仅看到example.org链接,但实际上指向redirect.php?url=example.org。在这种情况下,您可以将鼠标悬停在浏览器角落上,从而看到此链接。

但是,你也可以使用 JS 来掩盖它:

<a href="#" onclick="javascript:window.location='redirect.php?url=example.org'">example.org</a>

此处,链接依赖于浏览器中启用的 JavaScript,并使用该 JavaScript 将您带到(隐藏的)位置。鼠标悬停时无法看到,但可以通过检查页面源代码来查看。

甚至有更好的方法可以用 JS 来掩盖这一点,而且越来越难发现。

被用来欺骗用户。这就是 URL 缩短服务在很多平台上变得不受欢迎的原因之一 - 因为它们使用相同的重定向技术,用户不知道它最终会转到哪里,而且你不知道 URL 缩短服务会从你的用户那里跟踪什么样的信息。

答案3

我觉得您把几件事混在一起了。

  1. 您在网站上看到的链接只是文本。它与链接指向的位置并不一定相关。例如:链接可以显示“在 YouTube 上观看”,但链接到“hacker.ru”
  2. 当您将鼠标悬停在上面时,您看到的是将要执行的真实 URL。当您点击时,这就是您的浏览器发送的内容。
  3. 但是,该 URL 可以是一个简单的 HTML 页面,也可以是一个自动转发到任何其他 HTML 页面的 HTML 页面,或者可以由服务器处理并执行许多操作,例如开始下载或转到另一个 URL。
  4. 以这种方式加载的每个页面都可以重复重定向,直到您(希望)最终显示某些内容。

链中的每个服务器都会获取有关您的基本数据;这取决于您的浏览器允许他们查看的内容。通常,这包括您的操作系统类型和版本、浏览器类型和版本,以及您的用户 ID、您的大致位置、您的广告标识符和其他一些内容。如今,大多数浏览器都允许您将这些数据限制为仅浏览器和操作系统版本。

我从未听说过“hxxp”这个概念,我怀疑它是否真实,或者如果真实,它是否有什么不同。我认为这是个童话故事,但也许有人可以给我们一些启发。

答案4

hxxp://链接试图阻止 URL 被识别为链接。由于这不是真正的协议,搜索引擎等自动链接跟踪器不会将此类链接识别为链接。这可以帮助解决隐私问题(如果有人不想让搜索引擎知道他们正在从某个地方链接到某个东西)。更重要的是,它迫使用户手动复制/粘贴并调整地址栏中的 URL。当用户以这种方式导航时,浏览器不会提供Referer,否则会指定用户从哪里点击链接,因此目标网站将不知道访问者如何找到目标页面。此外,此类链接可防止用户意外点击恶意内容。

重定向页面还具有隐藏 的特性Referer。它们还可以让重定向的所有者更轻松地收集有关人们来自哪里和要去哪里的统计数据。

如果将鼠标悬停在链接上时,链接的目标没有显示其实际目的地,则导航实际上是由 JavaScript 执行的,而不是元素href上的属性<a>。例如,请考虑以下 HTML 文档:

<html><head><title>Sketchy Site</title></head><body>
<a href="#" onclick="window.location.href = 'http://superuser.com';">Totally Legit Link</a>
</body></html>

当你将鼠标悬停在该链接上时,浏览器将显示当前路径以及#右下角的 ,但当你单击它时,你将进入超级用户主页。惊喜!

相关内容