DVWA靶场-Weak Session IDs 脆弱的Session

往期博文:

DVWA靶场-Brute Force Source 暴力破解

DVWA靶场-Command Injection 命令注入

DVWA靶场-CSRF 跨站请求伪造

DVWA靶场-File Inclusion 文件包含

DVWA靶场-File Upload 文件上传

DVWA靶场-SQL Injection SQL注入

 

靶场环境搭建

https://github.com/ethicalhack3r/DVWA

[网络安全学习篇附]:DVWA 靶场搭建

 

目录

 

Weak Session IDs 脆弱的Session

Low Weak Session IDs

核心代码

Medium Weak Session IDs

核心代码

High Weak Session IDs

核心代码

Impossible Weak Session IDs

核心代码


Weak Session IDs 脆弱的Session

session 具有会话认证的功能,生成的session值,要尽量无规律,不然很容易被恶意用户伪造

Low Weak Session IDs

核心代码

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

}

?>

可以看到,这里生成的session有规律的,是从0开始,每一次加一,这样很容易被恶意用户依次遍历获取session认证。

 

Medium Weak Session IDs

核心代码

<?php 

$html = ""; 

if ($_SERVER['REQUEST_METHOD'] == "POST") {

    $cookie_value = time();

    setcookie("dvwaSession", $cookie_value);

}

?>

med 使用time()生成时间戳作为生成的session ,事实上时间戳也有一定的规律,以秒为单位,也有被猜出的可能

 

High Weak Session IDs

核心代码

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

} 

?>

相较于low级别,增加了加了md5 加密,但还是存在规律性

 

Impossible Weak Session IDs

核心代码

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

}

?>

这里的session值=(随机数.时间戳.impossible)组成,相对来说安全了很多,不知道是不是运行环境的问题,笔者这里没有成功复现


https://www.sqlsec.com/2020/05/dvwa.html#toc-heading-31

https://www.freebuf.com/articles/web/119467.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

beglage

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值