XSS终结者-CSP理论与实践

访客5年前黑客资讯749

 CSP 全称为 Content Security Policy,即内容安全战略。首要以白名单的 *** 装备可信任的内容来历,在网页中,能够使白名单中的内容正常履行(包括 *** ,CSS,Image 等等),而非白名单的内容无法正常履行,然后削减跨站脚本进犯(XSS),当然,也能够削减运营商绑架的内容注入进犯。

示例:在 HTML 的 Head 中增加如下 Meta 标签,将在契合 CSP 规范的浏览器中使非同源的 script 不被加载履行。

<meta http-equiv="Content-Security-Policy" content="script-src 'self'">

不支持 CSP 的浏览器将主动会疏忽 CSP 的信息,不会有什么影响。详细兼容性可在caniuse检查

CSP 语法组成

战略类型

CSP 有两种战略类型:

Content-Security-Policy Content-Security-Policy-Report-Only

这两种战略类型的首要差异也能够从命名上看出,之一种对不安全的资源会进行阻挠履行,而第二种只会进行数据上报,不会有实践的阻挠。
当界说多个战略的时分,浏览器会优先选用最早界说的。

指令调集

CSP 的指令是组成内容来历白名单的要害,上面两种战略类型含有以下很多指令,能够经过调配得到满意网站资源来历的白名单。

指令示例及阐明

指令 取值示例 阐明 default-src 'self' cdn.example.com 界说针对一切类型(js/image/css/web font/ajax/iframe/多媒体等)资源的默许加载战略,某类型资源假如没有独自界说战略,就运用默许。 script-src 'self' js.example.com 界说针对JavaScript的加载战略 object-src 'self' 针对,, 等标签的加载战略 style-src 'self' css.example.com 界说针对款式的加载战略 img-src 'self' image.example.com 界说针对图片的加载战略 media-src 'media.example.com' 针对或许引进的html多媒体等标签的加载战略 frame-src 'self' 针对iframe的加载战略 connect-src 'self' 针对Ajax、WebSocket等恳求的加载战略。不答应的情况下,浏览器会模仿一个状况为400的呼应 font-src font.qq.com 针对Web Font的加载战略 sandbox allow-forms allow-scripts 对恳求的资源启用sandbox report-uri /some-report-uri 告知浏览器假如恳求的资源不被战略答应时,往哪个地址提交日志信息。不阻挠任何内容,能够改用Content-Security-Policy-Report-Only头 base-uri 'self' 约束当前页面的url(CSP2) child-src 'self' 约束子窗口的源(iframe、弹窗等),替代frame-src(CSP2) form-action 'self' 约束表单能够提交到的源(CSP2) frame-ancestors 'none' 约束了当前页面能够被哪些页面以iframe,frame,object等 *** 加载(CSP2) plugin-types application/pdf 约束插件的类型(CSP2)

指令值示例及阐明

指令值 示例 阐明 * img-src * 答应任何内容 'none' img-src 'none' 不答应任何内容 'self' img-src 'self' 答应同源内容 data: img-src data: 答应data:协议(如base64编码的图片) www. *** img-src www. *** 答应加载指定域名的资源 *. *** img-src *. *** 答应加载 *** 任何子域的资源 https://img.com img-srchttps://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] [3]  黑客接单网

相关文章

子域名收集思路与技巧整理

前语 本文合适Web安全爱好者,其中会说到8种思路,7个东西和还有1个小程序,看本文前需求了解相关的Web基础知识、子域名相关概念和Python 程序的基础知识。 感谢我的老友龙哥的技巧大放送以及Or...

Java Web 工程源代码安全审计实战,第 4 部分: 环境加固

前语 本文是 Java Web 工程源代码安全审计实战的第 4 部分,也是最终一部分,根据 WebGoat 工程,解说源码审计出产环境布置装备问题。相比较于前三部分各种高危缝隙的审计和整改。环境布置部...

东西引荐:Raptor WAF,轻量级WEB使用防火墙

  Raptor是一款选用C言语编写的WEB运用防火墙,运用DFA来阻挠SQL注入、Xss目录遍历等进犯。 编译&装置 $ git clone https://github.com/Cool...

Nginx 防SQL注入

SQL注入原理,在URI页面加参数查询数据库,假如程序没有严厉过滤字符串,就有或许导致SQL注入 咱们能够在前端Nginx过滤URI来避免SQL注入。装备如下 什么是URL和URI,举例说明: 衔接...

运用HTML注入进行信息走漏

本篇文章叙述了我怎么发现一个缝隙运用点,而且能够bypass现有安全机制,使我取得5位数赏金。 一个古怪的HTML注入事例 AndréBaptista和Cache-Money正在研讨一个十分风趣的缝隙...

Web 服务器基准测验,nginx+php vs Apache+php

本次测验nginx+php与apache+php哪种组合的核算性能及稳定性更佳 操作系统:Centos6.4 x64 硬件环境:   服务器IP 硬件装备 人物 192.168.1.2 4中心 8G...