安全漏洞問題7:失效的身份認證和會話管理
安全漏洞問題7:失效的身份認證和會話管理
1.1. 漏洞描述
應用程式的功能一般包含許可權管理和會話管理,但是由於應用程式設計不當,讓攻擊者可以竊取到密碼、金鑰、session tokens等資訊,進而冒充合法使用者身份,獲取敏感資訊或者進行惡意操作。
1.2. 漏洞危害
利用不安全的許可權管理和會話管理設計,惡意使用者可能會竊取或操縱使用者會話和 cookie,進而模仿合法使用者,一般來說,可能造成以下危害:
竊取使用者憑證和會話資訊
惡意使用者冒充使用者身份檢視或者變更記錄,甚至執行事務
訪問未授權的頁面和資源
執行超越許可權操作
1.3. 解決方案
始終生成新的會話,供使用者成功認證時登入。
程式碼示例如下:
//Example 1:使用者登陸成功生成新ID
request.getSession().invalidate();//清空session
Cookie cookie = request.getCookies()[0];//獲取cookie
cookie.setMaxAge(0);//讓cookie過期
使用者再輸入資訊登入時,就會產生一個新的session了。
防止使用者操縱會話標識。
具體措施如下:
使用者密碼強度(普通-6位以上;重要-8位以上;極其重要:使用多種驗證方式)
不使用簡單或可預期的密碼恢復問題
登入頁面最好加密處理;登入出錯時不給太多的提示,使用統一的出錯提示;登入驗證成功後更換Session ID
第一次登入強制修改密碼;對多次登入失敗的帳號進行短時鎖定;設定會話閒置超時。
提供使用者登出退出功能,使用者關閉瀏覽器或者登出時,刪除使用者Session
使用128位以上具備隨機性的SessionID,不在URL中顯示Session ID
保護Cookie
在應用程式中為Cookie設定安全屬性:Secure flag和HttpOnly flag。
相關文章
- 初識ABP vNext(7):vue身份認證管理&租戶管理Vue
- KubeCube 使用者管理與身份認證
- Java身份證實名認證、身份證識別介面讓您認證任性的“懶”Java
- 增強版實名認證介面-Java身份證實名認證介面程式碼-身份認證Java
- 如何解決兩因素和多因素身份驗證的大問題
- node.js -- 身份認證Node.js
- C++身份核驗介面程式碼、身份證OCR、身份證實名認證APIC++API
- 邊緣認證和與令牌無關的身份傳播
- Java身份證實名認證介面解鎖認證新速度Java
- WebApi的建立,部署,Oauth身份認證(一)WebAPIOAuth
- @Value失效的問題
- MongoDB身份認證機制揭秘!MongoDB
- 華為雲 OneAccess 應用身份管理服務,認證授權雙保駕,身份管理的選擇關鍵
- ASP.NET Core之身份認證和授權JWTASP.NETJWT
- 有關Laravel Passport認證的問題LaravelPassport
- 如何做好統一身份認證賬號管理及整合?
- 使用centos7的wall防火牆可能存在失效問題CentOS防火牆
- C++身份證二要素實名認證api、實名認證介面C++API
- 使用 JWT 認證使用者身份JWT
- springboot整合shiro實現身份認證Spring Boot
- C++批次核驗身份證真偽、實名認證介面、身份證識別C++
- 7-3 查驗身份證
- 通過詢問-響應身份認證提高桌面登入安全
- 密碼安全和無密碼身份認證那些事兒密碼
- css失效問題CSS
- 開啟一個jsf會話失效JS會話
- 認證授權問題概覽
- win7證書問題Win7
- 幾種常見的身份認證方案和介面測試中的應用
- go-kit微服務:JWT身份認證Go微服務JWT
- PHP 使用 jwt 使用者身份認證PHPJWT
- 支招 | 如何解決身份驗證系統安全問題
- 網路實名制、電商實名認證、身份證實名認證介面
- 處理多個會話時的 Cookie 和 Headers 複用問題會話CookieHeader
- 處理多個會話時的 Cookie 和 Headers複用問題會話CookieHeader
- WebSocket的SSL認證失敗問題記錄Web
- 管理 ES 叢集:管叢集身份認證與使用者鑑權
- ISO/IEC 27018公有云中個人身份資訊管理體系認證概述
- [20221101]tmux使用問題copy和paste失效.txtUXAST