弱会话ID
用户访问服务器的时候,一般服务器都会分配一个身份证 session id 给用户,用于标识。一个SessionID就对应一个客户端,用户拿到session id 后就会保存到 cookies 上,之后只要拿着 cookies 再访问服务器,服务器就知道你是谁了。
但是 session id 过于简单就会容易被人伪造,根本都不需要知道用户的密码就能登录服务器了。
一、Low等级
1、漏洞分析
<?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,存在就加一
- 然后将其作为session,存入cookie
2、获取网址和cookie即可绕过登录
- 容易发现session的规律
- 填入网址和session,即可绕过用户登录,访问页面<