Content Security Policy (CSP)内容安全策略
CSP简介
Content Security Policy(CSP),内容(网页)安全策略,为了缓解潜在的跨站脚本问题(XSS攻击),浏览器的扩展程序系统引入了内容安全策略(CSP)这个概念。
CSP 的实质就是白名单制度,开发者明确告诉客户端,哪些外部资源可以加载和执行,等同于提供白名单。它的实现和执行全部由浏览器完成,开发者只需提供配置。
两种方法启用 CSP
一种是通过 HTTP 响应头信息的Content-Security-Policy字段。
一种是通过网页的标签。
<meta http-equiv="Content-Security-Policy" content="script-src 'self'; object-src 'none'; style-src example.org third-party.org; child-src https:">
script-src:脚本:只信任当前域名
object-src:不信任任何URL,即不加载任何资源
style-src,样式表:只信任example.org和third-party.org
child-src:必须使用HTTPS协议加载。这个已从Web标准中删除,新版本浏览器可能不支持。
其他资源:没有限制其他资源
Low级别
从请求的response包中可以看到,content-security-policy策略只允许加载当前域名以及 pastebin.com example.com 等域名的。
直接去pastebin中写一个脚本,输入提交即可。
Medium级别
需要script指定nonce
'unsafe-inline' 代表可以执行诸如 onclick 等事件或 script 标签内的内容这类 javascript
后者是指如果你要使用 script 标签加载 javascript, 你需要指明其 nonce 值,比如
<script nonce="TmV2ZXIgZ29pbmcgdG8gZ2l2ZSB5b3UgdXA=">alert('hacked')</script>
将上方代码输入输入框即可
High级别
构造 Payload
<script src="source/jsonp.php?callback=alert('hacked');"></script>
原文:https://blog.csdn.net/weixin_42555985/article/details/88382976
如果这篇文章对你有用,可以关注本人微信公众号获取更多ヽ(^ω^)ノ ~