黑客如何让受害者访问 XSS 攻击 URL?

信息安全 xss 社会工程学
2021-09-06 00:31:53

据我了解,XSS 的基本思想是让用户的浏览器执行一些黑客创建的恶意代码。

比如说,如果一个页面在用户访问这个 URL 时存在加载任意脚本的漏洞:

http://www.example.com/apage?filename=malicious.js

然后浏览器将malicious.js毫无疑问地加载文件,用户将被黑客入侵。

我的问题是,黑客如何让用户访问这样的 URL?

就像上面的例子和所有其他类似的技术一样,都有一个前提条件:用户必须采取一些他们通常不会采取的行动。

如果黑客非要过来打个招呼,“嗨,有什么好笑的,看看吧!” 对每个人来说,这不会是一个非常有效的攻击。

那么,有没有什么技巧可以自动实现呢?或者任何导致这种情况的现实案例?

4个回答

用户做了一些他们不会像往常一样做的动作

对于大多数用户来说,单击链接似乎是一种常见的操作。

例如,参见这项研究,其中 56% 的用户点击了来自未知发件人的电子邮件中的链接,约 40% 的用户点击了通过 Facebook 发送的链接(尽管 78% 的用户意识到可能存在的危险)。50% 的人说他们没有点击链接是因为他们不认识发件人。

这已经是一个令人印象深刻的成功率。如果受害者认识攻击者,或者如果攻击者伪造了他们认识的人的身份,这个比率可能会进一步提高。

在社交网络上,反射型 XSS 也可能是可蠕虫的。除了恶意行为之外,注入的脚本还可以向受害者的所有朋友发送包含链接的消息(例如发生在Twitter 上的类似事件)。

除了电子邮件之外,链接还可以分布在论坛、博客、问题跟踪器等中。例如,这发生在Apache上。

这也是我一直想知道的,当我问起时,通常会被告知“用户不小心点击所有内容”。也就是说,反射型 XSS 听起来并不是软件的漏洞,而是用户的漏洞。这一切对我来说听起来很奇怪,因为我是那种经常检查链接预览的人(鼠标悬停在浏览器中的链接上),如果有人告诉我点击StackExchange 上的这个问题,我会发现奇怪的格式(见路径),我就不点了。

但是我不得不说,有一些方法可以让反射型 XSS 比最初看起来更危险。考虑以下几点:

  • 自动点击、重定向或类似技巧:您不必点击,只需登陆恶意网站,该网站将自动重定向到目标网站并执行恶意 javascript。如果您在目标网站上登录,攻击者将使您执行任意 javascript 并执行恶意操作(发送或删除内容等)
  • 通常具有长或复杂 URL(不方便用户)并且用户倾向于信任的网站。我倾向于在亚马逊上看到这个,无论如何链接都是不可读的。
  • 不允许您轻松查看预览的浏览器,例如在移动浏览器或其他软件上,它不像悬停那么简单。我不得不承认我没有花时间在移动设备上验证链接,我只是点击,虽然在移动设备上我只尝试使用受限制的受信任网站选择。
  • 攻击者了解受害者,知道如何说服他们点击链接或访问页面,在某些情况下,受害者甚至可能信任攻击者。来自陌生人的随机电子邮件与来自(恶意)熟人的 Facebook 私人消息不同。
  • 胸部和lols:带有胸部,lolcats等的图片可以让你暂时失去意识,你可能会觉得你必须立即点击它,就像它是物理定律一样。

因此,正如您所见,与反射型 XSS 相关的风险可能会有很大差异,具体取决于用户、对受影响网站的信任、目标网站上可能采取的行动等。但无论如何它仍然是一个软件漏洞,因为根据定义,它允许通过利用输入清理中的弱点来执行任意 javascript。

您给出的示例非常琐碎。有很多应用程序在共享的 URL 中有几十个 GET 参数。攻击者所需要的只是其中之一容易受到反射 XSS 的攻击,以使其成功。如果某人期望的链接又长又复杂,而他们得到的链接又长又复杂,那么他们可能不会查看每个参数。

此外,他们可以使用 URL 缩短器。

XSS 有两种主要类型,反射型和持久型。持久性 XSS 是存储在服务器上,影响其他用户,而反射性 XSS 不存储,但仍然可以影响其他用户。

我见过的一种方法是将重定向之类的内容存储在清理不良的评论中。这样,代码存储在服务器端,当有人请求页面时,代码与评论一起加载,然后触发代码块。然后,这可以将受害者重定向到攻击者网站,该网站可能会发生其他恶意事件,例如凭据收集器的假登录页面、广告堆栈等。

如果您需要更多信息,请告诉我,我可以在回到 PC 时进行编辑并添加更多详细信息。

编辑:例如,如果一个站点容易受到这种类型的攻击,可以留下一条评论,将访问该页面的所有用户重定向到一个新站点,这个新站点可能是原始站点的几乎相同的副本,旨在让您再次登录,然后窃取凭据。由于人们倾向于在多个站点上使用相同的密码,因此这些凭据可用于在其他地方登录等。

基本上