• 实验吧_天下武功唯快不破&让我进去(哈希长度拓展攻击)


    天下武功唯快不破

    第一反应就去抓包,看到返回包的header中有FLAG的值,base64解码后得到下图所示

    这就要求我们在请求头中post相应key的值,我直接在burp中尝试了多次都没有用,想起来这道题讲的应该是快,所以果断拿出python跑一跑

    1 import requests
    2 import base64
    3 
    4 url = 'http://ctf5.shiyanbar.com/web/10/10.php'
    5 r = requests.get(url).headers['FLAG']
    6 key = base64.b64decode(r).decode().split(':')[1]
    7 flag = {'key':key}
    8 print(flag)
    9 print(requests.post(url, data = flag).text)

    可直接得到flag

    让我进去

    查看源码并没有发现什么提示,随便输入账号密码看看,看到cookie有个两个醒目的参数

    把source改成1试了试,果然出现了源码

     1 $flag = "XXXXXXXXXXXXXXXXXXXXXXX";
     2 $secret = "XXXXXXXXXXXXXXX"; // This secret is 15 characters long for security!
     3 
     4 $username = $_POST["username"];
     5 $password = $_POST["password"];
     6 
     7 if (!empty($_COOKIE["getmein"])) {
     8     if (urldecode($username) === "admin" && urldecode($password) != "admin") {
     9         if ($COOKIE["getmein"] === md5($secret . urldecode($username . $password))) {
    10             echo "Congratulations! You are a registered user.
    ";
    11             die ("The flag is ". $flag);
    12         }
    13         else {
    14             die ("Your cookies don't match up! STOP HACKING THIS SITE.");
    15         }
    16     }
    17     else {
    18         die ("You are not an admin! LEAVE.");
    19     }
    20 }
    21 
    22 setcookie("sample-hash", md5($secret . urldecode("admin" . "admin")), time() + (60 * 60 * 24 * 7));
    23 
    24 if (empty($_COOKIE["source"])) {
    25     setcookie("source", 0, time() + (60 * 60 * 24 * 7));
    26 }
    27 else {
    28     if ($_COOKIE["source"] != 0) {
    29         echo ""; // This source code is outputted here
    30     }
    31 }

    这里可以看到三个获取flag前的判断语句:

    1.username为damin

    2.password不为admin

    3.cookie中的getmein参数的值等于md5($secret . urldecode($username . $password))

    一脸懵逼,哭着去找wp。

    哈希长度扩展攻击 (瑟瑟发抖 听都没听过)

    贴一下大佬的相关解释,研究了一整晚还是懵懵懂懂的

    hash哈希长度扩展攻击解析(记录一下,保证不忘)

    实验吧-让我进去【salt加密 哈希长度拓展攻击】

    先放着吧╮(๑•́ ₃•̀๑)╭

  • 相关阅读:
    ADO.Net对Oracle数据库的操作(转)
    代码反思(1)
    继承与多态
    存储过程
    linux学习流程及内容概括
    Linux下终端快捷键
    查找算法
    epoll解读
    TCP/udp编程
    如何学习嵌入式
  • 原文地址:https://www.cnblogs.com/Ragd0ll/p/8649320.html
Copyright © 2020-2023  润新知