iT邦幫忙

2026 iThome 鐵人賽

DAY 12
0
Security

嘗試使用OWASP ZAP與DVWA探索常見 Web 漏洞系列 第 12 篇

Web 資安觀念篇:15 個常見 Web 漏洞與防禦快問快答

  • 分享至 

  • xImage
  •  

在經過前面的總結以及實作後,今天整理了 15 個在 Web 開發與資安面試中最常被問到的經典問題。

Q1:什麼是SQL Injection?要如何根治?
答:當後端將使用者輸入直接拼接到SQL語法時產生。根治方法是強制使用「預編譯查詢」,將指令結構與資料參數徹底分離。

Q2:使用「黑名單」過濾輸入為什麼不安全?
答:攻擊者極易透過繞過技巧(如大小寫混淆、特殊編碼或大小寫繞過)突破黑名單。防護應優先採用白名單機制(僅允許預期的字元或格式)。

Q3:Reflected XSS與Stored XSS的最大差別是什麼?
答:Reflected XSS(反射型)是一次性的,惡意程式碼藏在URL中,需誘騙使用者點擊;Stored XSS(儲存型)則是將惡意腳本寫入資料庫,任何造訪該頁面的使用者都會自動受害。

Q4:設定Cookie的HttpOnly屬性有什麼好處?
答:能防止前端JavaScript透過document.cookie 存取該Cookie,即便網站出現XSS漏洞,攻擊者也無法直接透過腳本偷走Session ID。

Q5:CSRF攻擊的核心成因是什麼?
答:伺服器過度信任瀏覽器自動帶上的Session Cookie,且未驗證該請求是否真的來自使用者本人在該頁面的主動操作。

Q6:如何有效防範CSRF攻擊?
答:最標準做法是導入Anti-CSRF Token,並配合Cookie的SameSite=Strict或Lax屬性,阻止跨站請求時自動帶上Cookie。

Q7:Command Injection與SQL Injection有何不同?
答:SQL Injection影響的是資料庫系統;Command Injection則是注入到作業系統(OS)底層的 Shell 指令,可能直接導致伺服器被奪取控制權(RCE)。

Q8:什麼是WebShell?
答:攻擊者透過檔案上傳漏洞等管道上傳到伺服器上的惡意腳本,使其能透過瀏覽器遠端輸入並執行作業系統指令。

Q9:防範檔案上傳漏洞時,只檢查「副檔名」夠嗎?
答:不夠。除了副檔名白名單外,還需檢查檔案標頭、將檔案重命名隨機化,並最重要的是關閉上傳目錄的程式碼執行權限。

Q10:什麼是 SameSite Cookie 屬性?
答:它是Cookie的安全設定,用來控制第三方網站發起請求時是否發送該Cookie,能有效防範CSRF攻擊。

Q11:為什麼sensitive操作不應該使用GET請求?
答:GET請求會將參數直接暴露在URL與伺服器Log中,容易被記錄、分享或透過CSRF/XSS輕易觸發,修改資料的 API應嚴格使用POST或PUT。

Q12:Content Security Policy (CSP) 的作用是什麼?
答:CSP是一種HTTP Header,讓網站管理員能限制瀏覽器只能載入與執行白名單來源的腳本,是防範XSS與資料外洩的第二道防線。

Q13:什麼是最小權限原則?
答:程式或資料庫連線帳號僅給予完成工作所需的最低權限。例如Web應用程式不該使用資料庫的root或sa高權限帳號連線。

Q14:防範XSS時,為什麼單純濾掉 標籤不夠?
答:因為JavaScript可以透過其他HTML標籤觸發,例如 或 ,因此必須實施完整的HTML Entity Encoding。

Q15:什麼是縱深防禦?
答:不依賴單一安全防禦機制,而是多層佈署(如輸入驗證 + 語法隔離 + HttpOnly + CSP + 系統權限隔離),即便其中一層被突破,其他機制仍能阻斷攻擊。


上一篇
Web資安觀念篇:常見 Web 漏洞總整理與防護金字塔
下一篇
DVWA 實作:File Inclusion原理與路徑穿越攻防
系列文
嘗試使用OWASP ZAP與DVWA探索常見 Web 漏洞 共 18 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言