--- title: Cross-site scripting(跨站脚本攻击) slug: Glossary/Cross-site_scripting tags: - DOM - XSS - 安全 - 术语 - 跨站脚本攻击 translation_of: Glossary/Cross-site_scripting ---
跨站脚本攻击(Cross-site scripting,XSS)是一种安全漏洞,攻击者可以利用这种漏洞在网站上注入恶意的客户端代码。当被攻击者登陆网站时就会自动运行这些恶意代码,从而,攻击者可以突破网站的访问权限,冒充受害者。根据开放式 Web 应用安全项目(OWASP),XSS 在 2017 年被认为 7 种最常见的 Web 应用程序漏洞之一。
如果 Web 应用程序没有部署足够的安全验证,那么,这些攻击很容易成功。浏览器无法探测到这些恶意脚本是不可信的,所以,这些脚本可以任意读取 cookie,session tokens,或者其它敏感的网站信息,或者让恶意脚本重写{{glossary("HTML")}}内容。
在以下2种情况下,容易发生 XSS 攻击:
恶意内容一般包括 {{glossary("JavaScript")}},但是,有时候也会包括 HTML,FLASH 或是其他浏览器可执行的代码。XSS 攻击的形式千差万别,但他们通常都会:将 cookies 或其他隐私信息发送给攻击者,将受害者重定向到由攻击者控制的网页,或是经由恶意网站在受害者的机器上进行其他恶意操作。
XSS 攻击可以分为3类:存储型(持久型)、反射型(非持久型)、DOM 型。