web2

2021-05-12 06:28

阅读:474

标签:mwl   编码   ==   __name__   strrev   yum   def   margin   加密算   

$miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";

?

function encode($str){

$_o=strrev($str);

// echo $_o;

?

for($_0=0;$_0

?

$_c=substr($_o,$_0,1);

$__=ord($_c)+1;

$_c=chr($__);

$_=$_.$_c;

}

return str_rot13(strrev(base64_encode($_)));

}

?

highlight_file(__FILE__);

/*

逆向加密算法,解密$miwen就是flag

*/

?>

?

本题是一个解密的题

先用rot13解密

rot13 : n1mYotDfPRFRVdEYjhDNlZjYld2Y5IjOkdTN3EDNlhzM0gzZiFTZ2MjO4gjf

strrev : fjg4OjM2ZTFiZzg0MzhlNDE3NTdkOjI5Y2dlYjZlNDhjYEdVRFRPfDtoYm1n

base64 : ~88:36e1bg8438e41757d:29cgeb6e48c`GUDTO|;hbmg

?

对编码进行逆向操作,这里使用python语言:

以下为最终解码脚本:

"""

for($_0=0;$_0

?

$_c=substr($_o,$_0,1); # 每次取一个字符,就是对应的遍历的字符i

$__=ord($_c)+1; # 转化为对应的10进制数

$_c=chr($__); # 10进制转换为ASCII码

$_=$_.$_c; # 累加$_c

}

"""

?

def reverse(strings):

now = ‘‘

for i in range(len(strings)):

temp = strings[i]

temp_ord = ord(temp) - 1

temp_chr = chr(temp_ord)

now += temp_chr

ans = now[::-1]

return ans

?

?

if __name__ == ‘__main__‘:

string = "~88:36e1bg8438e41757d:29cgeb6e48c`GUDTO|;hbmg"

print(reverse(string))

flag:{NSCTF_b73d5adfb819c64603d7237fa0d52977}

web2

标签:mwl   编码   ==   __name__   strrev   yum   def   margin   加密算   

原文地址:https://www.cnblogs.com/0BlueSky/p/12010343.html


评论


亲,登录后才可以留言!