[程式碼審計][攻防世界][NSCTF]Web2

2020-08-08 14:10:25

開啓題目,哦程式碼審計啊,看着要解密的亞子,看我的筆記吧

<?php 
$miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws"; 

function encode($str){ 
    $_o=strrev($str); //字元反轉
         
    for($_0=0;$_0<strlen($_o);$_0++){ 
        //函數功能是把每一位的對應ASCII碼值+1然後轉換爲字元
        $_c=substr($_o,$_0,1); 
        $__=ord($_c)+1; 
        $_c=chr($__); 
        $_=$_.$_c;    
    }  
    //str_rot13這個函數加密解密都是它,ROT13 編碼是把每一個字母在字母表中向前移動 13 個字母得到。數位和非字母字元保持不變。
    return str_rot13(strrev(base64_encode($_))); 
} 

highlight_file(__FILE__); 
/* 
   逆向加密演算法,解密$miwen就是flag 
*/ 
?> 

按照要求我寫了個解密指令碼:

<?php
$miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";

function decode($str){
    $str = base64_decode(strrev(str_rot13($str)));
    $_ = '';
    for($_0=0;$_0<strlen($str);$_0++){

        $_c=substr($str,$_0,1);
        $__=ord($_c)-1;
        $_c=chr($__);
        $_=$_.$_c;
    }
    echo strrev($_);
}
echo decode('a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws');

執行得到密碼
在这里插入图片描述