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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM