web2

题目描述:解密

 

打开发现这么一串代码

<?php
$miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";

function encode($str){
    $_o=strrev($str);
    // echo $_o;
        
    for($_0=0;$_0<strlen($_o);$_0++){
       
        $_c=substr($_o,$_0,1);
        $__=ord($_c)+1;
        $_c=chr($__);
        $_=$_.$_c;   
    } 
    return str_rot13(strrev(base64_encode($_)));
}

highlight_file(__FILE__);
/*
   逆向加密算法,解密$miwen就是flag
*/
?>

观察得到,密文是以如下方式得到的:

将flag翻转,然后每一位对应ascii加一,将结果base64编码后翻转,再用rot13编码一次

因此,我们逆向操作即可解码

第一步,再一次进行rot13编码,即解码rot13(rot13编码两次即为处理前):n1mYotDfPRFRVdEYjhDNlZjYld2Y5IjOkdTN3EDNlhzM0gzZiFTZ2MjO4gjf

第二步,翻转字符串:fjg4OjM2ZTFiZzg0MzhlNDE3NTdkOjI5Y2dlYjZlNDhjYEdVRFRPfDtoYm1n

第三步,base64解码:~88:36e1bg8438e41757d:29cgeb6e48c`GUDTO|;hbmg

第四步,每一位ascii减一:}77925d0af7327d30646c918bfda5d37b_FTCSN{:galf

第五步,翻转字符串,得到flag:

flag:{NSCTF_b73d5adfb819c64603d7237fa0d52977}

posted @ 2020-11-28 22:10  hktk1643  阅读(152)  评论(0编辑  收藏  举报