DVWA-9.3 Weak Session IDs(弱会话ID)-High

High Level

查看源码

<?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);
}

?>

这里将dvwaSession的值进行了md5计算,并且还设置了dvwaSession的有效期进一步增加安全性,但不足的是本级与低级代码一样,都是通过0开始累加的,若有经验的人在多次尝试后,很容易看出来其中的规律。

漏洞利用

点击Generate,按F12查看headers信息,可以看到

响应头
Set-Cookie: dvwaSession=c81e728d9d4c2f636f067f89cc14862c; expires=Sun, 26-Apr-2020 06:55:00 GMT; Max-Age=3600; path=/vulnerabilities/weak_id/; domain=127.0.0.1

32位字符。由0-9和a-f组成猜想应该是MD5,拿到网站去解密,为2,再测试几次,发现就是如low一样从0开始每次加1,然后经过MD5加密,作为SessionID。依旧在另一个浏览器上访问这个网址,抓包,添加上Cookie。成功访问。

原文地址:https://www.cnblogs.com/zhengna/p/12779127.html