web手嘗試解密(水文章)
阿新 • • 發佈:2020-12-15
閒的沒事去刷了一下攻防世界做了一道web逆向(?????)
開啟題目得到原始碼:
1 <?php 2 $miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws"; 3 function encode($str){ 4 $_o=strrev($str); 5 // echo $_o; 6 7 for($_0=0;$_0<strlen($_o);$_0++){ 8 9 $_c=substr($_o,$_0,1); 10 $__=ord($_c)+1; 11 $_c=chr($__); 12 $_=$_.$_c; 13 } 14 return str_rot13(strrev(base64_encode($_))); 15 } 16 17 /*highlight_file(__FILE__);*/ 18 /* 19 逆向加密演算法,解密$miwen就是flag 20 */ 21 ?>
搞得跟真的一樣。。。於是去問(調戲)了一下20000s師傅
分析一下程式碼:顯然$miwen是由下面的function encode加密成的,原文就是flag,所以我們要去把原文逆出來。
實際上encode的過程十分簡單:
將原文反轉,每個字元替換成該字元ascii