HTTP 的内容安全策略(CSP)

访客5年前黑客资讯460

 本文介绍的是W3C的Content Security Policy,简称CSP。望文生义,这个规范与内容安全有关,首要是用来界说页面能够加载哪些资源,削减XSS的发作。

Chrome扩展现已引进了CSP,经过manifest.json中的content_security_policy字段来界说。一些现代浏览器也支撑经过呼应头来界说CSP。下面咱们首要介绍怎么经过呼应头来运用CSP,Chrome扩展中CSP的运用能够参阅Chrome官方文档。

浏览器兼容性

前期的Chrome是经过X-WebKit-CSP呼应头来支撑CSP的,而firefox和IE则支撑X-Content-Security-Policy,Chrome25和Firefox23开端支撑规范的的Content-Security-Policy,见下表。

呼应头 Chrome Firefox Safari IE Content-Security-Policy 25+ 23+ - - X-Content-Security-Policy - 4.0+ - 10.0(有限的) X-Webkit-CSP 14+ - 6+ -

完好的浏览器CSP支撑状况请移步CanIUse。

怎么运用

要运用CSP,只需要服务端输出相似这样的呼应头就行了:

Content-Security-Policy: default-src 'self'

default-src是CSP指令,多个指令之间用英文分号切割;'self'是指令值,多个指令值用英文空格切割。现在,有这些CSP指令:

指令 指令值示例 阐明 default-src 'self' cnd. *** 界说针对一切类型(js、image、css、web font,ajax恳求,iframe,多媒体等)资源的默许加载战略,某类型资源假如没有独自界说战略,就运用默许的。 script-src 'self' js. *** 界说针对JavaScript的加载战略。 style-src 'self' css. *** 界说针对款式的加载战略。 img-src 'self' img. *** 界说针对图片的加载战略。 connect-src 'self' 针对Ajax、WebSocket等恳求的加载战略。不答应的状况下,浏览器会模仿一个状况为400的呼应。 font-src font. *** 针对Web Font的加载战略。 object-src 'self' 针对<object>、<embed>或<applet>等标签引进的flash等插件的加载战略。 media-src media. *** 针对<audio>或<video>等标签引进的html多媒体的加载战略。 frame-src 'self' 针对frame的加载战略。 sandbox allow-forms 对恳求的资源启用sandbox(相似于iframe的sandbox特点)。 report-uri /report-uri 告知浏览器假如恳求的资源不被战略答应时,往哪个地址提交日志信息。 特别的:假如想让浏览器只报告日志,不阻挠任何内容,能够改用Content-Security-Policy-Report-Only头。

指令值能够由下面这些内容组成:

指令值 指令示例 阐明   img-src 答应任何内容。 'none' img-src 'none' 不答应任何内容。 'self' img-src 'self' 答应来自相同来历的内容(相同的协议、域名和端口)。 data img-src data 答应data:协议(如base64编码的图片)。 www. *** img-src img. *** 答应加载指定域名的资源。 *. *** img-src *. *** 答应加载 *** 任何子域的资源。 https://img.com img-src https://img.com 答应加载img.com的https资源(协议需匹配)。 https: img-src https: 答应加载https资源。 'unsafe-inline' script-src 'unsafe-inline' 答应加载inline资源(例如常见的style特点,onclick,inline js和inline css等等)。 'unsafe-eval' script-src 'unsafe-eval' 答应加载动态js代码,例如eval()。

[1] [2]  黑客接单网

相关文章

OWASP TOP 10之怎么防护CSRF进犯

0x00 什么是CSRF CSRF(Cross-site request forgery跨站恳求假造,也被称为“One Click Attack”或许Session Riding,一般缩写为CSR...

技能共享:几种常见的JavaScript混杂和反混杂东西剖析实战

信息安全常被描述成一场军备竞赛,白帽与黑帽,浸透测验者与黑客,善与恶,本文将聚集这场永无止境决战中的一个小点。 HTML5 & JS 运用中充满着对输入进行验证/注入的问题,需求开发人员一直...

代码共享:运用Python和Tesseract来辨认图形验证码

 各位在企业中做Web缝隙扫描或许浸透测验的朋友,或许会常常遇到需求对图形验证码进行程序辨认的需求。许多时分验证码分明很简略(关于非互联网企业,或许企业界网中的运用来说特别如此),但由于没有趁手的辨认...

运用Docker建立Web缝隙测验环境

因为一向在做 Web 缝隙扫描器的开发, 那么就必定少不了 Web 的缝隙测验环境, 其中就包含 bWAPP、DVWA、OWASP WebGoat 等这些国际品牌。 这些缝隙环境一般建立比较繁琐, 并...

深度聊聊PHP下的“切断”问题

0×01 原因 学弟有天在群里说起上传的%00切断的一些问题,就想起之前自己在这个问题踩过坑,想起了自己从前的flag说要写文章,一向没写,现在来填坑了。 0×02 通过 源码了解: //test.p...

黑客接单网,找黑客改成绩成功了,怎么在百度贴吧找黑客

bash中会呈现已经对接的机器设备:拜会如下图在本实例教程中,我们作出了一些实例查看,搜索的是数据库查询中表和列的头衔。 为了更好地便捷过虑数据文件,他开了 wiresharkmsf exploit...