DVWA之弱会话IDs(Weak Session IDs)

弱会话IDs(Weak Session IDs)

Security Level: 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值,提交后发现直接登录dvwa,绕过密码验证:

进行下方的实验

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Security Level: medium

源码

 <?php

$html = "";

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

分析

通过设置时间戳,可知诱骗受害者在某个时间点基进行点击

进行下方实验

在这里插入图片描述
在这里插入图片描述
可以伪造登陆时间了
在这里插入图片描述

Security Level: 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
在这里插入图片描述
下面步骤同low

Security Level: impossible

源码

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

分析

采用随机数+时间戳+固定字符串"Impossible",再进行sha1运算

发布了77 篇原创文章 · 获赞 5 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_39682037/article/details/104960073
ids
今日推荐