iT邦幫忙

2025 iThome 鐵人賽

0
自我挑戰組

使用 DVWA 與 Kali Linux 的攻防學習系列 第 25

【Day 25】解構失效的身份認證與會話管理

  • 分享至 

  • xImage
  •  

身份認證生命週期 (Authentication Lifecycle): 我需要從一個完整的生命週期視角來審視身份認證,它包括:用戶註冊、憑證(密碼)管理、登入驗證、多因子認證 (MFA)、密碼重設/恢復,以及帳號鎖定。每一個環節都可能存在漏洞。

攻擊向量分析:

憑證暴力破解 (Credential Bruteforcing): 針對單一帳號嘗試大量密碼。防禦:帳號鎖定策略、驗證碼 (CAPTCHA)。

憑證填充 (Credential Stuffing): 使用從其他洩漏事件中獲得的大量「用戶名:密碼」對,在目標網站上進行自動化嘗試。防禦:MFA、監測異常登入地點/頻率。

會話固定 (Session Fixation): 攻擊者在用戶登入前,強制用戶使用一個由攻擊者控制的會話 ID。當用戶成功登入後,該會話 ID 就被「升級」為已認證狀態,攻擊者便可利用此 ID 劫持會話。防禦:在用戶成功登入後,必須強制重新生成一個全新的會話 ID。

會話權杖 (Session Token) 的安全屬性: 一個安全的會話 ID 必須具備:

高熵 (High Entropy): 使用密碼學安全偽隨機數生成器 (CSPRNG) 產生,使其在計算上無法被猜測或預測。長度至少為 128 位元。

傳輸安全: 整個站點強制啟用 HTTPS,並為會話 Cookie 設置 Secure 屬性。

作用域限制: 正確設置 Domain 和 Path 屬性,並將 HttpOnly 作為標準配置。

JWT (JSON Web Token) 安全性: 我必須特別關注 JWT 的常見陷阱:

演算法混淆 (alg:none): 某些庫曾允許將簽名演算法設置為 none,導致伺服器跳過簽名驗證,直接接受任意偽造的 Token。

弱密鑰/硬編碼密鑰: 用於 HMAC 簽名 (HS256) 的密鑰如果太弱或被硬編碼在客戶端代碼中,攻擊者可以輕易破解或獲取密鑰,從而偽造任意 Token。

Burp Sequencer 是分析會話 ID 隨機性的強大工具。Burp Int結:ruder 可用於自動化暴力破解和憑證填充攻擊。對於 JWT,我可以使用 Burp 的 JASON Web Token 擴充功能來解碼、修改 payload 和重新簽名,以測試伺服器的驗證邏輯。

在密碼重設功能中,「透過 Email 發送重設連結」的流程存在哪些潛在的安全缺陷?如何設計一個既用戶友好又安全的密碼重設機制?


上一篇
【Day 24】剖析跨網站指令碼 (XSS) 的利用與防禦
下一篇
【Day 26】識別超越程式碼的安全設定錯誤
系列文
使用 DVWA 與 Kali Linux 的攻防學習30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言