# Cross-site scripting Lab17 本題是在首頁執行一次 XSS,方式是注入一個 attribute,當被觸發時會呼叫 alert()。 > 提示:使用者會按以下幾組快捷鍵: > > `ALT + SHIFT + X` > `CTRL + ALT + X` > `Alt + X` 一樣先進入網站。 ![image](https://hackmd.io/_uploads/ByYj3g7Bxg.png) 本題會記錄使用者的鍵盤操作,但目前沒有甚麼頭緒,所以我在 URL 後面隨便輸入點東西,看看原始碼有甚麼不同。 ![image](https://hackmd.io/_uploads/Hk0fTlXBgl.png) ![image](https://hackmd.io/_uploads/Byh_Tgmrxx.png) 發現我們輸入的東西會被直接反映在 `canonical` tag 裡。 所以我們家這條在後面: ``` ?%27accesskey=%27x%27onclick=%27alert(1) ``` - `accesskey='x'`:將鍵盤快捷鍵 X 綁定到這個元素 - `onclick='alert(1)'`:當這個元素被觸發時,執行 alert(1) ![image](https://hackmd.io/_uploads/SkFv0gmHxl.png) ![image](https://hackmd.io/_uploads/H1u1yZ7Slg.png) ---