DVWA靶场Weak Session IDs(弱会话) 漏洞所有级别通关教程及源码审计

Weak Session IDs(弱会话)

**Weak Session IDs(弱会话ID)**漏洞是一种安全漏洞,涉及在 web 应用程序中使用不安全或容易被猜测的会话标识符(Session IDs)。会话ID是服务器用来识别用户会话的唯一标识符,通常在用户登录后生成并传递。弱会话ID有可能被攻击者预测、窃取或伪造,从而获取未经授权的访问权限

感兴趣的师傅可看看我的个人公众号:泷羽Sec-track ,不定期分享渗透测试常用工具

low

点击按钮并抓包

这里可以看到dvwaSession=某个数字

再一次抓包,这里变成了2,所以应该是每次刷新增加1

在浏览器找到cookie,并删除数据

这里在浏览器访问http://127.0.0.1/DVWA/vulnerabilities/weak_id/

抓包修改cookie即可成功登录

源码审计

只设置了cookie值每次+1

php 复制代码
<?php

$html = ""; // 初始化一个空字符串变量$html

if ($_SERVER['REQUEST_METHOD'] == "POST") { // 检查HTTP请求方法是否为POST
    if (!isset($_SESSION['last_session_id'])) { // 如果$_SESSION['last_session_id']没有被设置
        $_SESSION['last_session_id'] = 0; // 将$_SESSION['last_session_id']初始化为0
    }
    $_SESSION['last_session_id']++; // 递增$_SESSION['last_session_id']
    $cookie_value = $_SESSION['last_session_id']; // 赋值$cookie_value为当前的$_SESSION['last_session_id']
    setcookie("dvwaSession", $cookie_value); // 设置一个cookie,名称为"dvwaSession",值为$cookie_value
}
?>

medium

这里步骤和low一样,就不多描述了,看看不同点

这里添加了时间戳,可以在这个网站生成时间戳https://tool.lu/timestamp/,发包时需要添加时间戳修改

源码审计

设置了时间戳,并将其赋值给$cookie_value

php 复制代码
<?php

$html = ""; // 初始化一个空字符串变量$html

if ($_SERVER['REQUEST_METHOD'] == "POST") { // 检查HTTP请求方法是否为POST
    $cookie_value = time(); // 获取当前的时间戳,并将其赋值给$cookie_value
    setcookie("dvwaSession", $cookie_value); // 设置一个cookie,名称为"dvwaSession",值为当前时间戳
}
?>

high

这里步骤也和之前一样,不再重复了,看看不同点,提交后出现了一个参数,dvwasession

是md5加密,找个网站解密,是7

说明这个和low一样,只不过是数字进行了md5加密

源码审计

如果last_session_id_high 变量不存在,初始化它为0,并且+1,还设置了md5加密算法,设置cookie的有效期为当前时间加上1小时(3600秒),并且设置了请求域

php 复制代码
<?php

$html = ""; // 初始化一个空字符串变量$html

if ($_SERVER['REQUEST_METHOD'] == "POST") { // 检查HTTP请求方法是否为POST
    if (!isset($_SESSION['last_session_id_high'])) { // 检查会话变量'last_session_id_high'是否存在
        $_SESSION['last_session_id_high'] = 0; // 如果不存在,初始化该变量为0
    }
    $_SESSION['last_session_id_high']++; // 将会话变量'last_session_id_high'自增1
    $cookie_value = md5($_SESSION['last_session_id_high']); // 计算自增后的值的MD5哈希,作为cookie值
    setcookie(
        "dvwaSession", 
        $cookie_value, 
        time() + 3600, // 设置cookie的有效期为当前时间加上1小时(3600秒)
        "/vulnerabilities/weak_id/", // 限定cookie在此路径下可用
        $_SERVER['HTTP_HOST'], // 设置cookie的可用域为当前请求的主机
        false, // 设置cookie无需通过HTTPS传输
        false  // 设置cookie在HTTP头中可见,而不仅限于脚本访问
    );
}
?>

impossible

源码审计

生成一个更安全的随机会话ID,保证了cookie的安全性

php 复制代码
<?php

$html = ""; // 初始化一个空字符串变量$html

if ($_SERVER['REQUEST_METHOD'] == "POST") { // 检查HTTP请求方法是否为POST
    $cookie_value = sha1(mt_rand() . time() . "Impossible"); // 生成一个随机的cookie值
    setcookie(
        "dvwaSession", 
        $cookie_value, 
        time() + 3600, // 设置cookie的有效期为当前时间加上1小时(3600秒)
        "/vulnerabilities/weak_id/", // 限定cookie在此路径下可用
        $_SERVER['HTTP_HOST'], // 设置cookie的可用域为当前请求的主机
        true, // 设置cookie仅通过HTTPS传输
        true  // 设置cookie只能通过HTTP协议访问(不能被JavaScript访问,以提高安全性)
    );
}
?>
相关推荐
安全系统学习2 小时前
网络安全逆向分析之rust逆向技巧
前端·算法·安全·web安全·网络安全·中间件
2501_916007474 小时前
绕过 Xcode?使用 Appuploader和主流工具实现 iOS 上架自动化
websocket·网络协议·tcp/ip·http·网络安全·https·udp
2501_916013744 小时前
使用 Windows 完成 iOS 应用上架:Appuploader对比其他证书与上传方案
websocket·网络协议·tcp/ip·http·网络安全·https·udp
网硕互联的小客服5 小时前
如何防止服务器被用于僵尸网络(Botnet)攻击 ?
网络·网络安全·ddos
浩浩测试一下17 小时前
Authpf(OpenBSD)认证防火墙到ssh连接到SSH端口转发技术栈 与渗透网络安全的关联 (RED Team Technique )
网络·网络协议·tcp/ip·安全·网络安全·php
网安INF18 小时前
CVE-2020-17518源码分析与漏洞复现(Flink 路径遍历)
java·web安全·网络安全·flink·漏洞
Snk0xHeart18 小时前
极客大挑战 2019 EasySQL 1(万能账号密码,SQL注入,HackBar)
数据库·sql·网络安全
赛卡18 小时前
汽车安全:功能安全FuSa、预期功能安全SOTIF与网络安全Cybersecurity 解析
人工智能·安全·网络安全·车载系统·自动驾驶·汽车
CatalyzeSec19 小时前
一些实用的chrome扩展0x01
安全·web安全·网络安全
leagsoft_100320 小时前
筑牢企业网管域安全防线,守护数字核心——联软网管域安全建设解决方案
网络·安全·网络安全