目录
主要思路是通过多次生成会话ID来摸索会话ID的规律。
LOW
通过步骤
1、按一下Generate按钮,burpsuite抓包,发现Response中Set-Cookie: dvwaSession=1


2、再次按下Generate按钮,burpsuite抓包,发现Request中Cookie头包含dvwaSession=1(其他两个值security=low; PHPSESSID=ufkhsgpocjvch99ejmu3ft1006是登录DVWA的时候服务器设置的cookie,与本关无关);
Response中Set-Cookie: dvwaSession=2


3、再次按下Generate按钮,burpsuite抓包,发现Request中Cookie头包含dvwaSession=2,Response中Set-Cookie: dvwaSession=3


4、根据以上可以判断,本关的cookie是从1开始每按一次Generate按钮,递增1
现实场景中遇到这种有规律的session id就可以用burpsuite爆破了。
本来我也想在dvwa模拟一下这种情况,但用另一台电脑试了一下,dvwa的这个dvwaSession字段并没有什么卵用:
如果cookie只设置 dvwaSession=3则无法绕过登录验证;

如果cookie设置为security=low; PHPSESSID=ufkhsgpocjvch99ejmu3ft1006,就可以跳过登录验证直接到上述网页,根本不需要dvwaSession

代码分析
代码的意思是:
如果没有变量$_SESSION['last_session_id'],则变量值设置为0,变量值加1;如果有变量$_SESSION['last_session_id'],则变量值加1。然后向用户发送名为dvwaSession,值为$_SESSION['last_session_id']的HTTP cookie。
也就是说,名为dvwaSession的cookie的值从1开始每按一次Generate按钮递增1。
setcookie()函数的作用是向客户端发送一个 HTTP cookie。


本文介绍DVWA平台上的弱会话ID挑战,详细解析了LOW、MEDIUM、HIGH和IMPOSSIBLE四个难度级别的通关步骤及代码分析,强调了不可预测性的会话ID对于提高安全性的重要性。
最低0.47元/天 解锁文章
1771

被折叠的 条评论
为什么被折叠?



