Weak Session(Security Level: low)
漏洞利用
第一次cookie
回包后变成2了
多回几次之后发现是递增关系
那么构造一下payload就可以进行登入
代码分析
<?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);
}
?>
这种生成方式容易被攻击者猜测或推测出合法的会话标识,从而增加会话劫持攻击的风险。
Weak Session(Security Level: medium)
漏洞利用
抓个包
回包看看
那串数字有点像时间戳
可以定时触发,或者在特定时间做会话劫持
代码分析
<?php$html = "";if ($_SERVER['REQUEST_METHOD'] == "POST") {$cookie_value = time();setcookie("dvwaSession", $cookie_value);
}
?>
通过时间戳来确定账号可以定时攻击
Weak Session(Security Level: high)
漏洞利用
抓包看一下
发现长度固定,但是前后没有联系,估计是哈希了
嗯md5没错了
那么构造一下
代码分析
<?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);
}?>
先检查上一个session,再递增之后再加密
Weak Session(Security Level: high)
代码分析
<?php$html = "";if ($_SERVER['REQUEST_METHOD'] == "POST") {$cookie_value = sha1(mt_rand() . time() . "Impossible");setcookie("dvwaSession", $cookie_value, time()+3600, "/vulnerabilities/weak_id/", $_SERVER['HTTP_HOST'], true, true);
}
?>
采用随机数+时间戳然后进行hash1计算(除非随机数生成器有问题能破解接下来的就直接费了)