• 你没有见过的加密


     # 你没有见过的加密!
    
    ## 题目描述
    ```
    MDEzMjE5MDAyMTg0MTUzMjQwMTQ0MDc3MjUzMDk2MTc1MTUzMTE4MTg4MDEwMDA2MTg4MDA0MjM4MDI1MTA3MTU4MTc5MTM4
    MjUyMTUxMDQzMDI3MDQwMTg3MTc2MTQ3MTU2MTMyMDQzMDI5MDM3MjE0MDg4MTExMDE1MDU4MjM3MjE3MTIyMDQxMjM2MTQz
    请喜欢linux的你,自己动手写出解密代码吧
    格式:flag{ }
    解题链接: test.rar
    ```
    
    ## 解题思路
    打开附件,看到加密算法,直接写解密算法,这里有一个坑,不同版本,不同操作系统的php对`srand`种子后的随机值生成序列不一样,这也导致了很多人解不出来flag。
    我也找了用了几个虚机测了几个版本都出不来,急中生智,找了个在线的php运行工具,找到了对应版本5.3,版本号是从访问题目附件的返回包里找的。
    
    ```php
    <?php
        function decrypt($str)
        {
            srand(3284724);
            if(preg_match('%^[a-zA-Z0-9/+]*={0,2}$%',$str))
            {
                $str = base64_decode($str);
                if ($str != "" && $str != null && $str != false)
                {
                    $decStr = "";
                    for ($i=0; $i < strlen($str); $i+=3)
                    {
                        $array[$i/3] = substr($str,$i,3);
                    }
                    foreach($array as $s)
                    {
                        $tmp = rand(0, 255);
                        $a = intval($s) ^ $tmp ;
                        $decStr .= chr($a);
                    }
                    return $decStr;
                }
                return false;
            }
            return false;
        }
        echo decrypt("MDEzMjE5MDAyMTg0MTUzMjQwMTQ0MDc3MjUzMDk2MTc1MTUzMTE4MTg4MDEwMDA2MTg4MDA0MjM4MDI1MTA3MTU4MTc5MTM4");   
    ?>
    ```
    在线运行网站`http://www.dooccn.com/php/`。 
  • 相关阅读:
    centos安装odoo10及安装问题解决
    crontab实现定时任务
    pycharm发布代码
    centos下安装dblib
    windows安装face_recognition并进行人脸对比
    centos安装nginx1.9
    win10安装fast_client
    WIN10搭建python最新环境
    Linux常见命令
    centos安装python3.7
  • 原文地址:https://www.cnblogs.com/-zhong/p/11166923.html
Copyright © 2020-2023  润新知