zoukankan      html  css  js  c++  java
  • XCTF-web2

    web2

    玩了几天,回来开始肝了

    看题,进来给了加密代码

    根据加密算法写出解密算法然后decode密文就可以拿到flag

    审计一下代码

    <?php
    $miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";
    
    function encode($str){
        $_o=strrev($str); // 反转字符串
        // echo $_o;
            
        for($_0=0;$_0<strlen($_o);$_0++){ // 对每一位都进行操作
           
            $_c=substr($_o,$_0,1); // _c=反转后的miwen的第i位
            $__=ord($_c)+1; // __=_c的ascii值+1
            $_c=chr($__); // _c=__对应的字符
            $_=$_.$_c; // 把_c存起来
        } 
        // 把上述编码结果依次进行base64、反转、str_rot13编码
        return str_rot13(strrev(base64_encode($_)));
    }
    
    highlight_file(__FILE__);
    /*
       逆向加密算法,解密$miwen就是flag
    */
    ?>
    

    照着(copy)上边的代码,从return开始反着写一遍,然后运行就ok

    <?php
    $miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";
    function decode($cipher){
    	$cipher=base64_decode(strrev(str_rot13($cipher)));
    	
    	for($i=0;$i<strlen($cipher);$i++){
    		$x=substr($cipher,$i,1);
    		$x_=ord($x)-1;
    		$x=chr($x_);
    		$text=$text.$x;
    	}
    	return strrev($text);
    }
    
    echo decode($miwen);
    ?>
    
  • 相关阅读:
    AC 自动机
    [HihoCoder-1424] Asa's Chess Problem
    C++ Tricks
    2017"百度之星"程序设计大赛
    后缀自动机
    ASP教程:gb2312和utf-8乱码问题解决
    cryto-js 常用加密库 md5加密
    nrm是什么?以及nrm的安装与命令
    MongoDB 安装
    koa2 安装与启动
  • 原文地址:https://www.cnblogs.com/R3col/p/12736594.html
Copyright © 2011-2022 走看看