zoukankan      html  css  js  c++  java
  • DVWA学习记录 PartⅧ

    Weak Session IDs

    1. 题目

    用户访问服务器的时候,为了区别多个用户,服务器都会给每一个用户分配一个 session id 。用户拿到 session id 后就会保存到 cookies 上,之后只要拿着 cookies 再访问服务器,服务器就能知道你是谁。
    如果 session id 过于简单就会容易被人伪造。根本都不需要知道用户的密码就能访问,用户服务器的内容了。

    Weak_Session_IDs1

    2. Low

    a. 代码分析

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

    对于session_id只是简单的+1,没有任何安全措施。

    b. 漏洞利用

    放包时直接伪造dvwaSession

    payload:dvwaSession=4; security=low; PHPSESSID=02krk6ekcvc7ofissuaibfivh4

    3. Medium

    a. 代码分析

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

    session_id 为时间戳

    b. 漏洞利用

    针对时间段进行穷尽,获得正确的session

    4. High

    a. 代码分析

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

    对Low级别的cookie进行md5加密。

    b. 漏洞利用

    根据规律构建md5,进行爆破

    5. impossible

    a. 代码分析

    <?php
    $html = "";
    if ($_SERVER['REQUEST_METHOD'] == "POST") {
        $cookie_value = sha1(mt_rand() . time() . "Impossible");
        setcookie("dvwaSession", $cookie_value, time()+3600, "/vulnerabilities/weak_id/", $_SERVER['HTTP_HOST'], true, true);
    }
    

    生成随机数,时间戳,字符串,联合进行sha1加密。仅从session id中无法猜测其规律。

  • 相关阅读:
    DVD X Player 5.5 PRO
    Freefloat FTP Server 1.0漏洞分析
    基于约束的SQL攻击
    Commons-Collections漏洞
    Code-Audit-Challenges-php-2
    GSM Sniffer环境--c118+osmocombb
    XXE (XML External Entity Injection) :XML外部实体注入
    hyperledger fabric学习(1)
    zero to one (4)
    zero to one (3)
  • 原文地址:https://www.cnblogs.com/chalan630/p/12838372.html
Copyright © 2011-2022 走看看