XSS 的工作原理是利用网站中的漏洞,这会导致用户访问网站时返回恶意 JavaScript 代码。恶意代码的执行发生在用户的浏览器中,使攻击者能够损害受害者与网站的交互。
任何支持未清理用户输入的网页或 Web 应用程序都容易受到 XSS 攻击。XSS 攻击可能发生在各种脚本语言和软件框架中,包括 Microsoft 的 Visual Basic Script (VBScript) 和 ActiveX、Adobe Flash 以及级联样式表 (CSS)。然而,它们最常发生在 JavaScript 中,JavaScript 是浏览体验中使用的最常见的编程语言。
XSS 攻击通常由两个阶段组成。第一种是他们用于将恶意代码,也称为有效负载注入受害者访问的网页的方法。只有目标网站直接允许用户输入其页面时,才有可能这样做。如果是,攻击者将恶意代码注入页面,然后在用户访问客户端站点时将其视为源代码。
第二阶段是让受害者访问已注入有效载荷的预期网站。为此,攻击者经常使用社交工程技术或发起网络钓鱼攻击,将受害者发送到恶意网站。