DVWA——Weak Session IDs

文章详细介绍了DVWA(DamnVulnerableWebApplication)中不同安全级别下弱ID验证漏洞的利用方法。在低安全级别下,通过设置特定的cookie值可以实现免密登录。中等安全级别时,利用时间戳作为cookie值,而高等级下对cookie值进行了MD5加密,但仍可因递增规律被破解。这些说明了DVWA意在教育用户关于Web应用安全的重要性。

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

代码分析,last_session_id如果不存在则默认设为0,反之则+1,设置为dvwaSession

利用bp抓包

构造payload:dvwaSession=1; PHPSESSID=n9qd71ocqkjle1rdtbcs5f5be4; security=low

用hackbar在dvwa登录页面提交cookie,就可以成功免密登录了 

注意要先清除网站的cookie,再重新打开一个新的空白页访问登陆页面

url设置为:http://localhost/DVWA/DVWA-master/vulnerabilities/weak_id/cookie:dvwaSession=1; PHPSESSID=n9qd71ocqkjle1rdtbcs5f5be4; security=low

medium:

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

在cookie中添加:dvwaSession=1664951008

剩下方法就和low一样了

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

 这里将cookie的值进行了md5计算,并且还设置了期限之类进一步增加,但不足的是进行md5散列的值是0的累加,很容易被猜出规律然后绕过

dvwaSession=c4ca4238a0b923820dcc509a6f75849b,打开解密软件进行解密

剩下步骤与low一样

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值