資訊安全基礎

某網頁應用程式有一個漏洞:保持登入狀態的使用者若開啟攻擊者準備的陷阱網頁,使用者的瀏覽器就會向正規網站送出使用者並未意圖的匯款或設定變更請求。下列何者是適當的對策?

  1. A在重要處理的表單中,嵌入每個工作階段都無法預測的隨機值(權杖),收到請求時確認該值是否正確
  2. B加大密碼輸入欄位的字數上限
  3. C每天備份網頁伺服器的日誌
查看答案與解析

正確答案:A. 在重要處理的表單中,嵌入每個工作階段都無法預測的隨機值(權杖),收到請求時確認該值是否正確

這個漏洞稱為跨網站請求偽造(CSRF)。瀏覽器向正規網站送出請求時,無論請求是從哪個網頁送出,都會自動附上該網站的Cookie(登入中的工作階段資訊)。因此若伺服器只憑Cookie就判斷是登入使用者的正當操作,從陷阱網頁讓瀏覽器送出的請求也會被接受。對策的基本做法是只在正規的表單中嵌入每個工作階段都無法預測的隨機值(CSRF權杖),並在伺服器端確認該值。陷阱網頁無法得知這個值,因此無法組出正確的請求。此外,也可以用Cookie的SameSite屬性,讓從其他網站送出的請求不附上Cookie,或在匯款等重要操作前要求重新輸入密碼。XSS是在網站中嵌入惡意指令碼,CSRF則是讓使用者的瀏覽器送出看似正當的請求,這一點不同。

  • A. 正確。確認陷阱網頁無從得知的權杖,就能只接受來自正規表單的請求。
  • B. 輸入欄位的字數上限,與被迫送出非預期的請求無關。
  • C. 備份日誌有助於事後調查,但無法防止非預期的請求。
練習這個領域 前往領域頁面

相關計算工具

資訊安全基礎的其他題目

  1. 某網頁應用程式把URL參數所指定的檔名,與公開用資料夾的名稱串接後讀取並顯示。若指定包含 ../ 的值作為檔名,公開用資料夾外的設定檔等就會被讀取。此攻擊的名稱與對策的組合,正確的是哪一項?
  2. 網頁應用程式若在登入前後持續使用相同的工作階段ID,攻擊者可能讓使用者使用攻擊者事先準備的工作階段ID,並在使用者登入後以該ID冒充使用者。對這種攻擊最適當的對策是哪一項?
  3. 下列何者正確描述DDoS攻擊?
  4. 下列何者正確描述零時差攻擊?
  5. 關於漏洞管理中使用的CVE與CVSS,正確的說明組合是哪一項?