zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    MySQL Workbench的安全更新模式
    IEnumerable<T>和IQueryable<T>区分
    Google 网站打不开
    使用 MVVMLight 命令绑定(转)
    使用 MVVMLight 绑定数据(转)
    安装/使用 MVVMLight(转)
    ?? 运算符(C# 参考)
    REST风格URL
    node+mysql 数据库连接池
    理解mysql执行多表联合查询
  • 原文地址:https://www.cnblogs.com/zhengna/p/12778915.html
Copyright © 2011-2022 走看看