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);
    ?>
    
  • 相关阅读:
    sqlserver 表操作 SQL篇
    C#知识点汇总
    DDL
    sqlserver2008简介
    面向对象继承
    IO文件流
    【帅刺猬课堂】Winform中使用WPF的UserControl
    KS Gantt甘特图控件通过递归加载无限层级的数据
    Office 每次打开需要重新配置的问题修复方法
    扩展方法
  • 原文地址:https://www.cnblogs.com/R3col/p/12736594.html
Copyright © 2011-2022 走看看