認證和會話管理漏洞


失效的身份認證和會話管理

  • 認證和授權

- 認證的目的是為了認出用戶是誰, 授權的目的是為了決定用戶能夠做什么
- 認證是一個驗證憑據的過程。
- 認證分類: 單因素認證& 雙因素認證& 多因素認證
- 認證手段: 密碼、動態口令、手機驗證、數字證書、單點登錄(openid)

  • 會話管理

- 認證成功后, 認證憑證的管理方式
- 會話管理方式: cookie based 方式、服務器端session 方式

1 cookie-based的管理方式

用戶登錄成功之后, 把登錄憑證寫到cookie里面, 給cookie設置有效期,后續請求直接驗證存有登錄憑證的cookie是否存在以及憑證是否有效,即可判斷用戶的登錄狀態

 

 

2 基於server 端的服務端session的管理

服務端Session技術是用戶第一次訪問時,服務器就會創建的對象,並分配session 存儲空間。服務器為每一個session 都分配一個唯一的sessionid, 以保證每個用戶都有一個不同的

session對象。認證成功過,認證憑證計入到session存儲空間中。

 

身份認證和會話管理常見安全問題

  • 賬號或密碼未做限制, 可暴力猜解。沒有限制登錄次數,加驗證碼
  • 弱密碼策略, 允許簡單密碼存在, 如123456 , admin
  • 密碼找回方案存在缺陷, 如: 密保問題設計
  • 密碼更改方案存在缺陷
  • cookie 作為認證憑證, 攜帶敏感信息
  • Sessionid 沒有時效限制, 特別是單點登錄令牌在用戶注銷時沒有失效
  • 成功注冊后, 會話ID 沒有輪轉。
  • sessionid 和其他認證憑據使用未加密連接傳輸。
  • 混用個性化數據的身份驗證數據,個性化數據適於永久的cookie,而身份驗證cookie不應是永久的

認證會話管理洞防御

  • 設置驗證碼, 防止暴力猜解
  • 強制復雜密碼策略, 不允許默認弱密碼存在
  • 身份認證采用多因素認證
  • 認證cookie 中,加入兩個時間, 一個是“ 即使一直在活動,也要失效" 的時間,一個是“ 長時間不活動的失效時間"
  • cookie設置http only, 防止腳本讀取
  • Cookie 設置Secure, 只允許https傳輸
  • 網絡傳遞認證憑證采用SSL 加密

實驗:利用永久cookie重放http 會話

實驗環境:asp編寫的web 站點

實驗案例:利用burp嗅探該站點認證cookie特點,利用burp或桂林老兵cookie 欺騙工具,進行會話重放。

  1. 登錄網站后台,用burp工具抓包

 

user=admin&pass=admin&XuasYzm=19909&B1.x=42&B1.y=16

在這可以看到我們在網頁后台輸入的用戶名、密碼以及驗證碼。以及cookie中包含的adminpass,adminuser等信息。

復制以下信息

adminpass=21232f297a57a5a743894a0e4a801fc3; adminuser=admin

2.退出系統

3. 重新回到網頁登錄界面並使用burp抓包

將cookie信息中的adminpass、adminuser內容替換為

adminpass=21232f297a57a5a743894a0e4a801fc3; adminuser=admin 

可以實現登錄


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM