本题考点
- 熟悉PHP函数使用
- 检测你的编程基础是否扎实
步骤一:阅读源码,并分析
打开就有源码,且有提示是逆向算法题
分析后得出加密过程:
原文->字符反转->循环加ascii码后还原拼接->base64加密->字符反转->rot13加密
#不懂PHP函数的自己去查,找个在线PHP刷一下就懂了
步骤二:编写程序,并打印flag
编程程序,逆向解密
过程如下:
rot13解密->字符反转->base64解密->循环减ascii码后还原拼接->字符反转->打印出明文
代码如下:
<?php
$miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";
$解密 = base64_decode(strrev(str_rot13($miwen))); //rot13解密,字符反转,base64解密
print($解密."\n");
for ($i=0;$i<strlen($解密);$i++){
$c=substr($解密,$i,1);
$c = chr(ord($c)-1); //ascii码-1
$结果 = $结果.$c;
}
print(strrev($结果)); //反转后,输出结果
?>
#不能复制粘贴出去base64解密