DVWA靶場(十一、Weak Session IDs)


一、Weak Session IDs介紹

1.1、也叫弱會話 IDS,當用戶登錄后,在服務器就會創建一個會話(session),叫做會話控制,接下來訪問頁面的時候就不用登錄,只需要攜帶session去訪問。用戶訪問服務器,服務器端會創建一個新的會話,會話中保存用戶的狀態和相關信息,用來表示用戶。服務器端維護所有在線用戶的Session,此時的認證,只需要知道是哪個用戶在瀏覽當前的頁面即可。為了告訴服務器應該使用哪一個Session,瀏覽器需要把當前用戶持有的SessionID告知服務器。用戶拿到session id就會加密后保存到 cookies 上,之后只要cookies隨着http請求發送服務器,服務器就知道你是誰了。SessionID一旦在生命周期內被竊取,就等同於賬戶失竊。

1.2、Session利用的實質 :
由於SessionID是用戶登錄之后才持有的唯一認證憑證,因此黑客不需要再攻擊登陸過程(比如密碼),就可以輕易獲取訪問權限,無需登錄密碼直接進入特定用戶界面, 進而查找其他漏洞如XSS、文件上傳等等。

1.3、Session劫持 : 就是一種通過竊取用戶SessionID,使用該SessionID登錄進目標賬戶的攻擊方法,此時攻擊者實際上是使用了目標賬戶的有效Session。如果SessionID是保存在Cookie中的,則這種攻擊可以稱為Cookie劫持。SessionID還可以保存在URL中,作為一個請求的一個參數,但是這種方式的安全性難以經受考驗。

二、Weak Session IDs(low)

1.1、low級別沒有設置任何過濾,這里我們直接brup抓包可以看到,dvwaSession=1; lang=zh-cn; theme=default; PHPSESSID=o6rjrdu6dsqjofnm2v9f735s56; security=low而每次重放一次,session都會+1

1.2、這里我們重新打開一個空白的網頁,通過HackBar提交url和Cookies,為驗證有效性,清除一下瀏覽器的cookie值,提交后發現直接登錄dvwa,繞過密碼驗證

二、Weak Session IDs(medium)

2.1、修改級別后我們發現session時基於時間戳生成的,關於時間戳這里不做過多介紹,時間戳可以直接通過轉換器生成

直接把生成的時間戳替換掉之前的時間戳,看看能不能直接登錄

可以看到直接無需密碼登錄成功

三、Weak Session IDs(high)

3.1、high級別使用了PHP setcookie()函數,來設置cookie:

3.2、實際操作high級別的時候出了點問題,每次Generate發現抓的包都是同樣的PHPSESSID,看了別人的文章,這里時通過MD5加密的,然后進行MD5解密,從0開始進行累加猜測PHPSESSID

因為我這里的PHPSESSID一直保持不變,直接通過這個進行訪問

四、Weak Session IDs(impossible)

$cookie_value采用隨機數+時間戳+固定字符串"Impossible",再進行sha1運算,完全不能猜測到dvwaSession的值。


免責聲明!

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



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