# Cross-site scripting Lab13 本題是 Stored DOM XSS,觸發 alert()。 題目沒多說甚麼,所以一樣先進入網站。 ![image](https://hackmd.io/_uploads/SyYLBOMrgg.png) 隨便找個東西並看原始碼。 ![image](https://hackmd.io/_uploads/Sy3mI_MHlg.png) 在評論標單的開頭就可以看到這一串 JS: ```js function escapeHTML(html) { return html.replace('<', '&lt;').replace('>', '&gt;'); } ``` 這邊的 replace 只會替換第一個 `<` 跟第一個 `>`,不會替換所有出現的標籤符號,所以我直接嘗試多輸入一組尖括號看看。 ``` <><img src=1 onerror=alert(1)> ``` ![image](https://hackmd.io/_uploads/HywTUOzBlx.png) ![image](https://hackmd.io/_uploads/ry_JDufrex.png) 返回主頁。 ![image](https://hackmd.io/_uploads/HJigvuzSlx.png) ---