1. 什么是 XSS 攻击
跨站脚本攻击,是一种很常见的网络安全威胁。
它允许攻击者在目标浏览器中注入恶意脚本代码。这些恶意脚本会执行多种非法操作。比如盗取你的 cookie,会话信息,篡改网页内容,重定向到别的恶意网站。控制浏览器的一些行为。严重危害了用户的数据安全。
2. XSS 攻击有哪些类型
2.1 反射型
恶意脚本作为参数,包含在 URL 里面。用户点击含有恶意链接的页面时,这个脚本就会被执行。
2.2 存储型
攻击者将恶意脚本永久存储在服务器上,当其他用户访问这个页面的时候。脚本就会自动执行。
2.3 DOM 型
攻击不设计服务器,通过修改页面 DOM 结构来利用 JS 从 URL 或页面其他部分读取数据,并且恶意执行脚本。
3. 如何防护
3.1 输入验证和过滤
对所用用户输入的数据进行严格校验,拒绝包含潜在威胁的字符输入。
3.2 输出编码
对于输出在页面上的潜在威胁字符。进行编码。比如 script 编码成 sc//ript。
3.3 内容安全策略
限制页面可以从哪里加载资源。减少恶意脚本的执行机会。