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
  • 相关阅读:
    html5+css3中的background: -moz-linear-gradient 用法 (转载)
    CentOS 安装Apache服务
    Linux 笔记
    CURL 笔记
    Spring Application Context文件没有提示功能解决方法
    LeetCode 389. Find the Difference
    LeetCode 104. Maximum Depth of Binary Tree
    LeetCode 520. Detect Capital
    LeetCode 448. Find All Numbers Disappeared in an Array
    LeetCode 136. Single Number
  • 原文地址:https://www.cnblogs.com/zhengna/p/12778915.html
Copyright © 2011-2022 走看看