• 实验吧:让我进去


    打开题,没思路,抓包吧。

    cookie里边有一个source=0,改为1,得到源码。

    $flag = "XXXXXXXXXXXXXXXXXXXXXXX";
    $secret = "XXXXXXXXXXXXXXX"; // This secret is 15 characters long for security!

    $username = $_POST["username"];
    $password = $_POST["password"];

    if (!empty($_COOKIE["getmein"])) {
    if (urldecode($username) === "admin" && urldecode($password) != "admin") {
    if ($COOKIE["getmein"] === md5($secret . urldecode($username . $password))) {
    echo "Congratulations! You are a registered user. ";
    die ("The flag is ". $flag);
    }
    else {
    die ("Your cookies don't match up! STOP HACKING THIS SITE.");
    }
    }
    else {
    die ("You are not an admin! LEAVE.");
    }
    }

    setcookie("sample-hash", md5($secret . urldecode("admin" . "admin")), time() + (60 * 60 * 24 * 7));

    if (empty($_COOKIE["source"])) {
    setcookie("source", 0, time() + (60 * 60 * 24 * 7));
    }
    else {
    if ($_COOKIE["source"] != 0) {
    echo ""; // This source code is outputted here
    }
    }

    之后就不会了,过了很长时间,才知道这是哈希扩展长度。

    看了很多博客,也没太理解这个东西是啥,讲不了这个原理,智商问题。。。。唉!!!

    可以参考这篇文章:https://www.cnblogs.com/pcat/p/5478509.html

    不过大概知道什么时候用这个。

    例如:md5($a.$b)的值已知,并且$a的长度也知道。

    使用工具hashpump,参考上面网址安装。

    Input Signature:填写hash值。

    Input Data:

    Input Key Length:20(因为要得到密码所以 长度是原来的15加上用户名admin的5,一共是20)

    Input Data to Add:随便添加

    这行的md5值  就是getmein的值

    底下的都是密码,但是必须经过urlencode。

    用hackBar构造 得出flag。

    写的比较烂,还不是很懂哈希扩展长度,继续学习,写一篇讲解hash扩展的。

  • 相关阅读:
    [转]命令行下常用网络命令解释大全
    查看计算机时间的命令行
    线程已被中止 “Thread was being aborted”
    SharePoint 2007备份还原小结
    作业
    .NET中线程同步相关的一些类
    SharePoint对于Workflow的历史信息清理的要点
    一些操作符
    for path多行变一列
    MERGE同步
  • 原文地址:https://www.cnblogs.com/whitehawk/p/9902543.html
Copyright © 2020-2023  润新知