日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

逻辑漏洞——会话管理问题

發布時間:2023/12/18 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 逻辑漏洞——会话管理问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

普及會話與令牌的作用以及針對令牌的常用攻擊手段

會話令牌

?? HTTP協議本身是“無狀態”,“無連接”的,也就是說HTTP協議本身并不會記住客戶端訪問的上下文,也無法保存客戶端的各種狀態,這其中就包括登錄狀態。如果HTTP不能保存用戶的登錄狀態,那就意味著用戶在每次訪問需要身份驗證的網站時都必須填寫用戶名及密碼,這里的“每次訪問”是指每個單次的HTTP請求包括刷新一次頁面。為了解決上述的問題,Web應用程序就需要使用會話這個概念,即用戶登錄成功后為其建立一個會話,通過會話記錄用戶的各種狀態,通常使用Cookie、Session及Token實現會話機制。令牌就是這一類用于維持用戶會話狀態的方法。
?? 執行會話最簡單、最常見的方式是向每名用戶發布一個唯一的會話令牌或標識符,
用戶在每一個請求中提交這個令牌。

確定會話令牌
多個數據共同表示一個會話令牌,包括Cookie、URL參數以及隱藏的表單參數
標準的會話Cookie可能存在但是Web應用程序未對其進行使用
觀察用戶登錄前后客戶端保存數據的變化,這些變化中包含了建立新會話的令牌
通過刪除客戶端向服務器端發送的參數來進行判斷,比如在刪除了某個參數后無法正常訪問用戶的個人資料,那么這個參數應該與會話令牌有關

令牌使用情景
發送到用戶注冊郵箱的密碼恢復令牌
防止CSRF的會話令牌
用于一次性訪問受保護資源的令牌
未使用驗證的購物應用程序的消費者用于檢索現有訂單狀態的令牌

會話令牌生成過程中的缺陷

令牌有含義
我們常規抓取http數據包所觀察到的令牌內容多是雜亂無序的字符串,不同用戶之
間的令牌也無任何規律。但是也不排除有些系統會有意設置具有含義的令牌字符,如:

用戶名稱:如user、admin、system
用戶標識:如0001、0002、0003

用戶權限:admin、00101、01000
用戶姓/名:zhangsan
日期/時間截
電子郵箱
可預測數字

令牌可預測
? 隱含序列:有時我們并不能直接的通過觀察令牌來發現其隱含的序列或者規律,我們可以通過對令牌進行解碼,然后發揮想象力通過各種運算或者操作來發現解密后令牌中所蘊含的規律或者隱含的序列。
? 時間依賴:一些Web服務器和應用程序使用時間來參與令牌的生成。如果使用時間生成令牌的算法沒有合并足夠的滴,攻擊者就可能推測出其他用戶的令牌。
? 生成數字的隨機性不強:計算機生成的隨機數都是偽隨機數,如果偽隨機數的算法強度較弱,那么生成隨機數很可能被預測。
? 令牌加密函數對外開放或暴露:如果攻擊者可以接觸到會話令牌生成函數的源碼、算法過程或者相應加密過程的入口(即攻擊者可以通過此入口獲得任何數據經過和令牌相同的加密方式后的數據),那么攻擊者就可以詳細的了解令牌生成的過程,從而模仿此過程對令牌進行偽造。

令牌可預測
常見的cookie(令牌)一般都是無序的字符串,并不能看出其中有何含義

令牌可預測
但有些網站系統開發者喜歡用自己制定的策略生成令牌字段,同時策略過于簡單的話,就會使令牌包含一定規律,可以被攻擊者預測到令牌的內容,如:

有含義的編號:身份證號、學號、員工號、手機號等
Unix時間截:當前系統時間、注冊時間、時間截的變形等

令牌可獲取

在網絡上泄露令牌
? 應用程序在登錄階段那使用HTTPS,但是登錄成功后轉為使用HTTP或者可以訪問驗證前使用HTTP的鏈接,這樣盡管保護了用戶的證書,卻保護不了用戶的會話令牌
? 用戶在首次訪問某一網站時使用HTTP協議,往往此時服務器已經給客戶端發布了會話令牌,當用戶進行登錄時,即使網站轉換使用HTTPS,那么在令牌不改變的情況下,原先處于暴露環境中的令牌此刻升級為具有通過驗證的令牌
? 如果登錄界面允許使用HTTP協議登錄,那么攻擊者可以通過各種方式使用戶在登錄時使用HTTP協議
? 在用戶使用HTTPS協議登錄后,如果網頁在加載像圖片等靜態資源時使用的是HTTP協議,用戶的會話令牌還是可以通過此泄露

在日志中泄露令牌
協助網絡管理人員的系統日志如果記錄了最近的會話日志,且未對訪問控制進行嚴格管理,那么在此種情況下,攻擊者可能通過日志獲得登錄會話。

如果應用程序將會話置于URL中,那么這些會話會被記錄在:
用戶瀏覽器的日志中
Web服務器日志
企業或ISP代理服務器日志
反向代理服務器日志
任何站外服務器的Referer(高危)

會話令牌與會話的映射易受到攻擊
允許并行登錄
使用靜態令牌,即一個用戶令牌發布后不再改變

客戶端暴露在令牌動持風險中
網站存在如下攻擊,容易造成會話令牌被動持
XSS、CSRF、會話固定
認證前就發布令牌
認證后獲得的會話令牌可重新用于其他用戶認證
應用程序接受偽造令牌

令牌不失效

? 令牌有效期過長
??? 是否需要在一段時間后使令牌失效
??? 是否需要在關閉瀏覽器時使令牌失效
? 令牌嘗試次數過多
??? 可以考慮在令牌提交次數過多時候使令牌失效
? 無效的令牌重置的手段
???? 注銷后令牌是否還有效

會話管理問題

? cookie的屬性值expires,就是用于設置cookie過期時間,如果設置一個時間,到期后cookie則失效,如果默認不設置,則為瀏覽器關閉后cookie失效。令牌的有效時間設置比較重要,時間設置過短,用戶還沒有訪問完就要重新登錄,時間設置過長會存在安全問題。令牌失效時間過長,當用戶結束訪問網站后,令牌仍然有效,那么攻擊者動持成功令牌的概率就會增加。用戶注銷后,令牌是否有設置失效,如沒有該邏輯,那么注銷后的令牌仍然合法,攻擊者依舊可以以用戶身份登錄。

案例:會話固定攻擊
會話固定攻擊(sessionfixationattack)是利用應用系統在服務器的會話ID固定不變機制,借助他人用相同的會話ID獲取認證和授權,然后利用該會話ID劫持他人的會話以成功冒充他人,造成會話固定攻擊。

總結

以上是生活随笔為你收集整理的逻辑漏洞——会话管理问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。