• DVWA-9.1 Weak Session IDs(弱会话ID)-Low


    Weak Session IDs

    当用户登陆后,在服务器端就会创建一个会话(Session),接着访问页面的时候就不用登陆,只需要携带Session去访问。SessionID作为特定用户访问站点所需的唯一内容。如果能够计算或轻易猜到该SessionID,则攻击者将可以轻易获取访问权限,无需登录密码直接进入特定用户界面,进而进行其他操作。

    Low Level

    查看源码

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

    可以看到,服务器端对sessionid的生成策略非常简单:

    如果用户 SESSION中的 last_session_id 不存在就设为 0,存在就直接在原来的基础上加1。

    这种是肯定不行的。太容易被人伪造,而且不能保证每个人的session是不一样的,容易造成冲突。

    漏洞利用

    点Generate,按F12查看headers信息,可以看到

    请求头
    Cookie: dvwaSession=2; security=low; PHPSESSID=crovkgvruus8df2bhe0nsgu3b3
    响应头
    Set-Cookie: dvwaSession=3

    dvwaSession就是生成的需要测试的SessionID,PHPSESSID是在访问时服务器分配给我的,不是用来测试的。

    在另一个浏览器上访问这个网址,抓包,添加Cookie如下

    dvwaSession=2; security=low; PHPSESSID=crovkgvruus8df2bhe0nsgu3b3

    成功访问。


    参考:https://www.jianshu.com/p/98b12761fadd
  • 相关阅读:
    linux下实现tomcat定时自动重启
    Mybatis中实现oracle的批量插入、更新
    linux 下ffmpeg和mencoder安装
    jwplayer 源代码重新编译
    如何让android sdk manager飞奔安装sdk
    linux+apache+mod_Jk+tomcat实现tomcat集群
    oracle知识杂记
    Spring Mvc session拦截器实现
    Linux下Tomcat安装、配置
    Linux下安装、配置、授权、调优Mysql
  • 原文地址:https://www.cnblogs.com/zhengna/p/12778915.html
Copyright © 2020-2023  润新知