弱会话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,即可绕过用户登录,访问页面<
该博客详细介绍了DVWA(Damn Vulnerable Web Application)中不同等级的弱会话ID问题,从Low到Impossible等级,揭示了如何通过简单的session ID规律伪造用户身份,从而绕过登录。Low等级时,session ID可通过观察规律获取;Medium等级使用时间戳,但也存在伪造可能;High等级通过数字加一并MD5加密,虽然增加难度,但仍可识别模式;而Impossible等级结合随机数、时间戳和特定字串使用SHA1加密,并设有有效期,提高了伪造的难度。
最低0.47元/天 解锁文章

494

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



