南通网站群建设,wordpress cms 模板,怎么看网站是否被k过,平面设计岗位描述怎么写文章目录 前言CSP简介CSP如何工作CSP指令CSP指令值 例题[AFCTF 2021]BABY_CSP 前言
刚学习完xss#xff0c;把xsss-labs靶场都通了打算试试水#xff0c;遇到此题[AFCTF 2021]BABY_CSP#xff0c;借此机会学习下CSP
CSP简介 Content Security Policy (CSP)内容安全策略把xsss-labs靶场都通了打算试试水遇到此题[AFCTF 2021]BABY_CSP借此机会学习下CSP
CSP简介 Content Security Policy (CSP)内容安全策略是一个附加的安全层有助于检测并缓解某些类型的攻击包括跨站脚本XSS和数据注入攻击。它实质就是白名单制度开发者明确告诉客户端哪些外部资源可以加载和执行哪些不可以。 CSP如何工作
通过响应包头Response Header实现
Content-Security-policy: default-src self; script-src self allowed.com; img-src self allowed.com; style-src self; CSP指令
我们可以看出有一部分是CSP中常用的配置参数指令我们也是通过这些参数指令来控制引入源下面列举说明
script-src外部脚本
style-src样式表
img-src图像
media-src媒体文件音频和视频
font-src字体文件
object-src插件比如 Flash
child-src框架
frame-ancestors嵌入的外部资源比如frame、iframe、embed和applet
connect-srcHTTP 连接通过 XHR、WebSockets、EventSource等
worker-srcworker脚本
manifest-srcmanifest 文件
dedault-src默认配置
frame-ancestors限制嵌入框架的网页
base-uri限制base#href
form-action限制form#action
block-all-mixed-contentHTTPS 网页不得加载 HTTP 资源浏览器已经默认开启
upgrade-insecure-requests自动将网页上所有加载外部资源的 HTTP 链接换成 HTTPS 协议
plugin-types限制可以使用的插件格式
sandbox浏览器行为的限制比如不能有弹出窗口等。除了Content-Security-Policy还有一个Content-Security-Policy-Report-Only字段表示不执行限制选项只是记录违反限制的行为。它必须与report-uri选项配合使用。
Content-Security-Policy-Report-Only: default-src self; ...; report-uri /my_amazing_csp_report_parser; CSP指令值
介绍完CSP的指令下面介绍一下指令值即允许或不允许的资源
* 星号表示允许任何URL资源没有限制
self 表示仅允许来自同源相同协议、相同域名、相同端口的资源被页面加载
data仅允许数据模式如Base64编码的图片方式加载资源
none不允许任何资源被加载
unsafe-inline允许使用内联资源例如内联script标签内联事件处理器内联style标签等但出于安全考虑不建议使用
nonce通过使用一次性加密字符来定义可以执行的内联js脚本服务端生成一次性加密字符并且只能使用一次例题
[AFCTF 2021]BABY_CSP
打开题目在网络的http请求发现nonce的值
这种情况下script标签需要带上正确的nonce属性值才能执行JS代码 payload
script nonce29de6fde0db5686dalert(flag)script得到flag