反射式跨站脚本有什么危险?

信息安全 Web应用程序 xss
2021-08-31 14:32:39

反射式跨站脚本有什么危险?

我知道反射型 XSS 很危险,因为它是可能的。但是使用反射型 XSS 可以执行哪些实际攻击呢?

4个回答

当您可以将代码注入页面时,您可以做很多事情。例如,您可以

  1. 窃取非 HTTPOnly cookie 中的凭据。
  2. 使用用户的凭据向服务器发送请求。想想 XSRF
  3. 窃取存储在 JS 变量中的秘密。
  4. 通过提交表单提示用户下载内容
  5. 显示似乎来自网站所有者的文本。想想网络钓鱼。
  6. 显示密码输入、记录击键并将结果发送到您选择的站点
  7. 重定向到另一个站点
  8. 如果用户已授予该站点对设备的访问权限,则获取 GPS/相机数据

维基百科的文章做得很好:

非持久性(或反射性)跨站点脚本漏洞是迄今为止最常见的类型。当 Web 客户端提供的数据(最常见于 HTTP 查询参数或 HTML 表单提交中)被服务器端脚本立即用于为该用户生成结果页面时,这些漏洞就会出现,而没有正确清理请求。

由于 HTML 文档具有混合了控制语句、格式和实际内容的扁平串行结构,因此任何未经验证的用户提供的数据包含在没有正确 HTML 编码的结果页面中,都可能导致标记注入。潜在向量的一个典型示例是站点搜索引擎:如果搜索字符串,则搜索字符串通常会逐字重新显示在结果页面上,以指示搜索的内容。如果此响应没有正确转义或拒绝 HTML 控制字符,则会出现跨站点脚本缺陷。

反射攻击通常通过电子邮件或中立网站传递。诱饵是一个看似无辜的 URL,指向一个受信任的站点,但包含 XSS 向量。如果受信任的站点容易受到向量的攻击,单击该链接可能会导致受害者的浏览器执行注入的脚本。

...

非持久 (又名反射)

  1. Alice 经常访问由 Bob 托管的特定网站。Bob 的网站允许 Alice 使用用户名/密码对登录并存储敏感数据,例如账单信息。
  2. Mallory 观察到 Bob 的网站包含反射型 XSS 漏洞。
  3. Mallory 制作了一个 URL 来利用该漏洞,并向 Alice 发送一封电子邮件,诱使她以虚假的借口点击该 URL 的链接。此 URL 将指向 Bob 的网站(直接或通过 iframe 或 ajax),但将包含 Mallory 的恶意代码,该网站将反映该代码。
  4. Alice 在登录 Bob 的网站时访问了 Mallory 提供的 URL。
  5. 嵌入在 URL 中的恶意脚本在 Alice 的浏览器中执行,就好像它直接来自 Bob 的服务器(这是实际的 XSS 漏洞)。该脚本可用于将 Alice 的会话 cookie 发送给 Mallory。然后,Mallory 可以在 Alice 不知情的情况下使用会话 cookie 窃取 Alice 可用的敏感信息(身份验证凭据、计费信息等)。

您对此有任何疑问吗?

针对它的标准 XSS 防御工作;例如,清理不受信任的用户输入;例如,只让他们插入一小部分 HTML(来自安全的受限标记语言)或通过一个好的 html 清理器/净化器,不要在脚本中使用不安全的模式(例如,用户输入的 javascript 中的 eval),理想情况下使用具有CSP和沙盒等功能的浏览器

来自OWASP

反射型 XSS 攻击:反射型攻击是指将注入的代码反射到 Web 服务器之外的攻击,例如在错误消息、搜索结果或任何其他响应中,其中包括作为请求的一部分发送到服务器的部分或全部输入. 反射攻击通过另一条路径传递给受害者,例如在电子邮件消息中或在某些其他 Web 服务器上。当用户被诱骗点击恶意链接或提交特制表单时,注入的代码会传播到易受攻击的 Web 服务器,从而将攻击反射回用户的浏览器。浏览器然后执行代码,因为它来自“受信任的”服务器。

这意味着我可以将恶意代码作为查询参数的一部分(与号或问号后的url部分。我可以发送恶意电子邮件,使用bit.ly或类似的,或结合其他攻击来获取你发出了一个无意的请求,这不是针对 XSS 的过滤。

在攻击方面,网络钓鱼将是一个大问题,让某人信任我的邪恶链接。这种类型的攻击也可以与 CSRF 或多种攻击中的任何一种结合使用,任何时候攻击者都可以让另一个站点运行他们的代码,并且您在启用 javascript 的情况下运行该页面,这将是糟糕的。

一些链接

我建议你看看 BeEF - The Browser Exploitation Framework http://beefproject.com/ 它基本上是一个展示 XSS 危险的工具。通过使用反射或持久性 XSS 攻击,beef 挂钩给定网站,并允许攻击者控制给定页面上的浏览器。BeEF 与 Metasploit 集成,允许攻击者将浏览器漏洞等发送到用户的浏览器。您可以窃取数据、窃取会话等。那里也有一些不错的视频。

BeEF 能做的任何事情,攻击者也能做。XSS 可能非常糟糕。