使用CSP来辅助防御XSS
来源:互联网 发布:在linux执行shell 编辑:程序博客网 时间:2024/05/20 20:20
#CSP(Content Security Policy)的作用
通过定义一个名为Content-Security-Policy 的header来让浏览器仅载入可信域的资源文件,限制使用内联脚本,禁止页面中使用<script>标签,控制ajax请求域等等。
可以通过https://content-security-policy.com/browser-test/来测试下你的浏览器对CSP的支持度。
#为什么CSP可以用来防御XSS
防御XSS一般的认识是要做好数据的输入校验和输出Encode,那么为什么CSP可以用来辅助防御XSS?想想看,XSS攻击的目的无非是窃取信息或者搞破坏,其实所有的攻击行为无非是这两种直接目的。一般情况下,都是以窃取用户信息为目的。想要窃取成功,用户浏览器就必须和攻击者的某个地址进行通信,否则攻击者就没有办法接收到最终窃取到的信息结果,而CSP可以用来定义哪些域是被信任的,如果攻击者设定的域不属于被设定的信任域,那么信息就没有办法被偷出去。这样就起到了防御XSS的效果。
#简单用法
最简单的我们可以定义一个filter,在页面返回的时候添加头信息,比如可以像下面这样,除了本域之外不相信任何域
response.addHeader("Content-Security-Policy","default-src 'self'");
真正使用的时候应当建立一个配置文件,通过配置的方式来定义和管理安全规则。
CSP详细的参数可以参见:https://content-security-policy.com/
#只能作为辅助手段
CSP通过设定安全规则,让浏览器来辅助解决XSS的问题这是非常合适的,因为我们知道所有的XSS都是发生在浏览器端。但是,CSP只能用来辅助防御XSS,减轻XSS带来的后果,它并不应该作为防御XSS的主要手段,它只能减轻以偷取信息为目的的XSS行为,对于纯粹的破坏行为则无能为力,特别是DOM Based XSS。所以想要较好的处理XSS,还是应当认真的做好数据的输入校验以及数据输出的Encode处理。
- 使用CSP来辅助防御XSS
- 使用antixss防御xss
- 使用antixss防御xss
- XSS防御-使用AntiSamy
- 使用antixss防御xss
- 利用HttpOnly来防御xss攻击
- 利用HttpOnly来防御xss攻击
- antisamy的配置以及使用实现XSS防御
- antisamy的配置以及使用实现XSS防御
- XSS攻击防御
- XSS攻击与防御
- XSS攻击及防御
- XSS攻击及防御
- XSS攻击以及防御
- XSS攻击及防御
- XSS攻击及防御
- XSS攻击及防御
- XSS攻击及防御
- 116. Populating Next Right Pointers in Each Node
- 交叉编译器制作教程
- 数据结构之利用栈进行进制转换
- rcnn-->spp-net-->fast rcnn的改进
- win7 loader
- 使用CSP来辅助防御XSS
- 关于WIN7环境安装AppServ出现IIS7解决方案
- 网络编程—获取自己的ip地址和域名解析
- 关于redis的一些总结
- 第七章 第二节 多分支控制结构
- HDU 4166 Robot Navigation
- 奥数题训练 —— 几何篇
- JS 不断尝试执行直到成功执行为止的代码
- 求最长回文子串的四种算法