XCTF-高手进阶区:web2
生活随笔
收集整理的這篇文章主要介紹了
XCTF-高手进阶区:web2
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目:
<?php $miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";function encode($str){$_o=strrev($str); //反轉字符串// echo $_o;for($_0=0;$_0<strlen($_o);$_0++){$_c=substr($_o,$_0,1); //循環獲取字符串中的每個字符$__=ord($_c)+1; //將獲取到的字符串進行ASCII編碼并+1$_c=chr($__); //將+1后的ASCII解碼為字符$_=$_.$_c; //將每次解碼后的字符拼接起來} return str_rot13(strrev(base64_encode($_)));//將$_先base64加密,然后反轉字符串,最后rot13加密 }highlight_file(__FILE__); /*逆向加密算法,解密$miwen就是flag */ ?>由題可知,這是根據加密代碼,進行解密獲得flag
加密過程:
(1)使用strrev函數反轉字符串 (2)將(1)獲得到的字符串進行循環,獲取每一位字符進行ASCII編碼并+1,最后拼接 (3)將循環獲得到的最后的值base64_encode (4)再字符轉反轉 (5)最后進行rot13解密解密過程就反過來
解密過程:
(1)先將已經被rot13加密的字符串解密 (2)將獲得的結果反轉字符串 (3)再進行base64_decode解密 (4)再將(3)獲得到的字符串進行循環,獲取字符串中的每個字符串并ASCII編碼-1,最后拼接 (5)最后將(4)獲得到的字符串進行反轉字符串解密代碼:
<?php function decode(){$a="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";$b=str_rot13($a);echo $b."\n";//n1mYotDfPRFRVdEYjhDNlZjYld2Y5IjOkdTN3EDNlhzM0gzZiFTZ2MjO4gjf$fanzhuan=strrev($b);echo $fanzhuan."\n";//fjg4OjM2ZTFiZzg0MzhlNDE3NTdkOjI5Y2dlYjZlNDhjYEdVRFRPfDtoYm1n$jiema=base64_decode($fanzhuan);echo $jiema."\n";//~88:36e1bg8438e41757d:29cgeb6e48c`GUDTO|;hbmgfor($_0=0;$_0<strlen($jiema);$_0++){$_c=substr($jiema,$_0,1);$__=ord($_c)-1;$_c=chr($__);$_=$_.$_c;}$result=strrev($_);echo($result); } decode(); ?> 輸出: n1mYotDfPRFRVdEYjhDNlZjYld2Y5IjOkdTN3EDNlhzM0gzZiFTZ2MjO4gjf fjg4OjM2ZTFiZzg0MzhlNDE3NTdkOjI5Y2dlYjZlNDhjYEdVRFRPfDtoYm1n ~88:36e1bg8438e41757d:29cgeb6e48c`GUDTO|;hbmg flag:{NSCTF_b73d5adfb819c64603d7237fa0d52977}PHP Notice: Undefined variable: _ in /usercode/file.php on line 18總結
以上是生活随笔為你收集整理的XCTF-高手进阶区:web2的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 快手极速版如何自动播放下一个视频(上的快
- 下一篇: 游戏中康特是什么意思 4399小游戏