XSS 概况
-
XSS是一种利用用户输入的安全漏洞的代码注入攻击的行为
-
一个成功的XSS攻击允许攻击者在受害者的浏览器中执行恶意脚本
-
一个成功的XSS的攻击使得网站和用户安全性都受到危害
XSS 攻击
有三类主要的XSS 攻击:
-
持续型XSS攻击,恶意输入源自网站的数据库
-
反射型RSS,恶意的输入源自受害者的请求
-
基于DOM的XSS攻击,漏洞来自客户端而不是服务端
所有的攻击实现方式都不相同,但一旦成功后达到的效果是一致的。
阻止XSS 攻击
-
阻止XSS攻击最重要的方式是验证用户输入
-
大部分情况下,只要用户的输入会被包含进页面,编码就应该被执行
-
在一些情况下,编码必须用校验做补充甚至做替换
-
验证输入必须考虑到用户输入被插入地方的上下文
-
为了阻止XSS攻击,验证用户输入必须在客户端和服务端同时执行
-
当验证用户输入失败时CSP提供了额外的一层安全保护