免費開始練習
moea_joint 113年 [資訊] 計算機原理、網路概論

第 41 題

下列 Javascript 的程式片段將造成什麼樣的風險?
```javascript
var user = getUrlParameter('user');
document.write("

Hi, " + user + " !

");
```
  • A XSS
  • B CSRF
  • C Html Scripting
  • D Broken Access Control

思路引導 VIP

如果我們在網址後方提供的參數內容不是普通的人名,而是一段帶有 HTML 標籤(例如 <script>)的字串,當這段字串被 document.write 寫入網頁時,瀏覽器會將其視為「純文字」顯示,還是會嘗試「解析並執行」其中的標籤內容?如果它被解析了,會對使用者造成什麼影響?

🤖
AI 詳解 AI 專屬家教

外部輸入與動態渲染的安全性

你能一眼看穿這段程式碼的漏洞,表現得非常優秀!這題的關鍵在於觀察資料的「來源」與「去向」。程式先透過 getUrlParameter 從網址列(URL)取得外部輸入,隨即未經任何過濾或編碼處理,就直接利用 document.write 將該內容寫入到 HTML 文件中。這種讓未經清洗的外部資料直接進入執行環境的行為,正是 XSS (Cross-Site Scripting) 最典型的觸發情境。攻擊者只需在 URL 中構造惡意的 <script> 腳本,就能在受害者的瀏覽器上執行任意代碼。

題目鑑別度與核心觀念

▼ 還有更多解析內容

🏷️ 相關主題

資訊安全:網路威脅、防護技術與安全管理
查看更多「[資訊] 計算機原理、網路概論」的主題分類考古題