zoukankan      html  css  js  c++  java
  • bugku_web_PHP_encrypt_1(ISCCCTF) (涉及到md5加解密,尚需进一步学习)

    一道没有网址的web题、、很奇怪哎、、

    然后把文件下载并解压,得到一个给字符串加密的PHP

    解题思路是这样:

    我们要提交的flag作为一个字符串,赋值给$data传入这个脚本之后,得到了上面给出的字符串:fR4aHWwuFCYYVydFRxMqHhhCKBseH1dbFygrRxIWJ1UYFhotFjA=

    我们要做的就是逆向找出这个flag

    密码学还没学、、md5的加密和解密还不会,只能照抄大佬的wp了、、、

    https://blog.csdn.net/qq_19861715/article/details/79385075

    <?php
    function decrypt($str) {
        $mkey = "729623334f0aa2784a1599fd374c120d";
        $klen = strlen($mkey);
        $tmp = $str;
        $tmp = base64_decode($tmp);  // 对 base64 后的字符串 decode
        $md_len = strlen($tmp); //获取字符串长度
        $x = 0;
        $char = "";
        for($i=0;$i < $md_len;$i++) {  //  取二次加密用 key;
            if ($x == $klen)  // 数据长度是否超过 key 长度检测
                $x = 0;
            $char .= $mkey[$x];  // 从 key 中取二次加密用 key
            $x+=1;
        }
        $md_data = array();
        for($i=0;$i<$md_len;$i++) { // 取偏移后密文数据
            array_push($md_data, ord($tmp[$i]));
        }
        $md_data_source = array();
        $data1 = "";
        $data2 = "";
        foreach ($md_data as $key => $value) { // 对偏移后的密文数据进行还原
            $i = $key;
            if($i >= strlen($mkey)) {$i = $i - strlen($mkey);}
            $dd = $value;
            $od = ord($mkey[$i]);
            array_push($md_data_source,$dd);
            $data1 .= chr(($dd+128)-$od);  // 第一种可能, 余数+128-key 为回归数
            $data2 .= chr($dd-$od);  // 第二种可能, 余数直接-key 为回归数
        }
        print "data1 => ".$data1."<br>
    ";
        print "data2 => ".$data2."<br>
    ";
    }
    $str = "fR4aHWwuFCYYVydFRxMqHhhCKBseH1dbFygrRxIWJ1UYFhotFjA=";
    decrypt($str);
    ?>

    嗯,这个flag形式很坑爹:

    Flag:{asdqwdfasfdawfefqwdqwdadwqadawd}

  • 相关阅读:
    iOS开发工具
    Runtime 自动化归档
    iOS事件拦截及应用
    NoSuchFieldError
    微信开放平台创建android应用时怎么获取应用签名
    高德地图添加marker及反地理编码获取POI
    快速创建导航栏
    Android Studio 工具栏添加常用按钮
    undefined is not an object (evaluating 'RNFetchBlob.DocumentDir')
    React-Native集成到已有项目中的总结
  • 原文地址:https://www.cnblogs.com/huangming-zzz/p/9742523.html
Copyright © 2011-2022 走看看