Advertisement

实验吧——NSCTF web200

阅读量:

题目链接 http://www.shiyanbar.com/ctf/1760

打开解题链接 发现是一张图片

这是一个用PHP写的加密函数 来分析一波

然后对原始明文字符串执行反转操作
随后逐一提取每个字符
并对每个字符对应的ASCII码值递增一
生成新字符串
随后对该新字符串执行Base64编码处理
最后对反转后的结果应用ROT13编码算法得到最终密文

无上下文

所以我们需要逆向求得明文

  1. 应用rot13来进行解码
  2. 翻转字符串在后端处理中应用广泛
  3. 解析基64编码过程
  4. 将每个字符向前移动一位来完成降码操作
  5. 翻转字符串的应用场景广泛

对照加密函数 写出解密函数

复制代码
 <?php

    
 function decode($str)
    
 {
    
     $_='';
    
     $_o=base64_decode(strrev(str_rot13($str)));
    
     for($i=0;$i<strlen($_o);$i++){
    
     $_c=substr($_o,$i,1);
    
     $__=ord($_c)-1;
    
     $_c=chr($__);
    
     $_=$_.$_c;
    
     }
    
     return strrev($_);
    
 }
    
 echo decode("a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws");
    
 ?>

php跑一下 拿到flag:

全部评论 (0)

还没有任何评论哟~