資訊安全基礎

某網頁應用程式把URL參數所指定的檔名,與公開用資料夾的名稱串接後讀取並顯示。若指定包含 ../ 的值作為檔名,公開用資料夾外的設定檔等就會被讀取。此攻擊的名稱與對策的組合,正確的是哪一項?

  1. A跨網站指令碼。輸出時跳脫 < 與 >
  2. B目錄遍歷。把檔名加長,使其不易被猜到
  3. C目錄遍歷。設計成不讓外部直接指定檔名,或將路徑正規化後確認其位於公開用資料夾內
查看答案與解析

正確答案:C. 目錄遍歷。設計成不讓外部直接指定檔名,或將路徑正規化後確認其位於公開用資料夾內

目錄遍歷(路徑遍歷)是利用 ../ 這類代表「上一層目錄」的符號,讀取或改寫應用程式預期之資料夾以外檔案的攻擊。原因在於把從外部收到的值直接用於檔案路徑。對策首先是設計成不讓外部直接指定檔名,而由伺服器端根據固定的編號或ID選擇檔案。必須使用外部的值時,要把路徑正規化(解析 ../ 等),確認結果位於允許的資料夾內。此外,把執行應用程式之帳號的權限設為最小,限制可讀取的檔案,就能縮小萬一發生時的損害。把檔名加長,也無法改變能以 ../ 跳出資料夾的事實。

  • A. 以 ../ 讀取資料夾外檔案的攻擊不是XSS,無法以跳脫防止。
  • B. 名稱正確,但把檔名加長,也無法阻止以 ../ 跳出資料夾。
  • C. 正確。設計成不以外部的值組成路徑,或確認正規化後的路徑位於允許的資料夾內。
練習這個領域 前往領域頁面

相關計算工具

資訊安全基礎的其他題目

  1. 網頁應用程式若在登入前後持續使用相同的工作階段ID,攻擊者可能讓使用者使用攻擊者事先準備的工作階段ID,並在使用者登入後以該ID冒充使用者。對這種攻擊最適當的對策是哪一項?
  2. 下列何者正確描述DDoS攻擊?
  3. 下列何者正確描述零時差攻擊?
  4. 關於漏洞管理中使用的CVE與CVSS,正確的說明組合是哪一項?
  5. 某員工的電腦上,檔案的副檔名接連改變,並顯示要求贖金的畫面。這位員工首先應採取的最適當處置是哪一項?