dvwa Weak session IDs

该文详细介绍了DVWA(DamnVulnerableWebApplication)中不同安全级别的会话管理漏洞。在LOW级别,cookie值可预测,每次请求递增。MEDIUM级别使用时间戳,可通过伪造时间绕过。HIGH级别添加了MD5加密,需解密并找规律。而IMPOSSIBLE级别使用SHA1和随机数据,更难预测,增加了安全性。
摘要由CSDN通过智能技术生成

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

cookie 值应该非常明显地可预测,也就是说,你第一次获取sessionid时,cokkie值为1,之后每获取一次,cookie会加一。

1,点击Generate,抓包,并且复制Cookie:后面的内容。

 2,打开一个新的dvwa登录页面http://localhost/dvwa/login.php

 3,点击F12,打开HackBar,按下图分别输入弱会话网址,cookie

  4,点击Execute,就可以绕过登录直接进入“弱会话”界面了。

或许是因为在进入dvwa时已经登录过了,所以在medium,high,impossible抓包时Intercept界面没有dvwaSession

MEDIUM

<?php

$html = "";

if ($_SERVER['REQUEST_METHOD'] == "POST") {
    $cookie_value = time();
    setcookie("dvwaSession", $cookie_value);
}
?>

设置了$cookie_value = time()

这里是用到了时间戳

Set-Cookie: dvwaSession=1676183903

我们在网上转义就可以知道具体时间了,

之后我们可以通过伪造登录时间来获得cookie来绕过登录

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

?>

这里进行了MD5加密,同样可以在一些网址进行解密,多次抓包查找规律就可以伪造cookie了

IMPOSSIBLE

在此级别,cookie 值【$cookie_value = sha1(mt_rand() . time() . "Impossible");】

不可预测,但请随时尝试。

除了额外的标志外,cookie 还与域和挑战路径相关联。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值