low:
<?php
$html = "";
if ($_SERVER['REQUEST_METHOD'] == "POST") {
if (!isset ($_SESSION['last_session_id'])) {
$_SESSION['last_session_id'] = 0;
}
$_SESSION['last_session_id']++;
$cookie_value = $_SESSION['last_session_id'];
setcookie("dvwaSession", $cookie_value);
}
?>
代码分析,last_session_id如果不存在则默认设为0,反之则+1,设置为dvwaSession
利用bp抓包

构造payload:dvwaSession=1; PHPSESSID=n9qd71ocqkjle1rdtbcs5f5be4; security=low
用hackbar在dvwa登录页面提交cookie,就可以成功免密登录了
注意要先清除网站的cookie,再重新打开一个新的空白页访问登陆页面
url设置为:http://localhost/DVWA/DVWA-master/vulnerabilities/weak_id/cookie:dvwaSession=1; PHPSESSID=n9qd71ocqkjle1rdtbcs5f5be4; security=low

medium:
<?php
$html = "";
if ($_SERVER['REQUEST_METHOD'] == "POST") {
$cookie_value = time();
setcookie("dvwaSession", $cookie_value);
}
?>
在cookie中添加:dvwaSession=1664951008

剩下方法就和low一样了
high:
<?php
$html = "";
if ($_SERVER['REQUEST_METHOD'] == "POST") {
if (!isset ($_SESSION['last_session_id_high'])) {
$_SESSION['last_session_id_high'] = 0;
}
$_SESSION['last_session_id_high']++;
$cookie_value = md5($_SESSION['last_session_id_high']);
setcookie("dvwaSession", $cookie_value, time()+3600, "/vulnerabilities/weak_id/", $_SERVER['HTTP_HOST'], false, false);
}
?>
这里将cookie的值进行了md5计算,并且还设置了期限之类进一步增加,但不足的是进行md5散列的值是0的累加,很容易被猜出规律然后绕过

dvwaSession=c4ca4238a0b923820dcc509a6f75849b,打开解密软件进行解密
剩下步骤与low一样
文章详细介绍了DVWA(DamnVulnerableWebApplication)中不同安全级别下弱ID验证漏洞的利用方法。在低安全级别下,通过设置特定的cookie值可以实现免密登录。中等安全级别时,利用时间戳作为cookie值,而高等级下对cookie值进行了MD5加密,但仍可因递增规律被破解。这些说明了DVWA意在教育用户关于Web应用安全的重要性。
2585

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



