攻防世界-web进阶-web2
简单审计一下源码
<?php $miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws"; function encode($str){ $_o=strrev($str); //反转字符串 // echo $_o; for($_0=0;$_0<strlen($_o);$_0++){ //循环字符串长度 $_c=substr($_o,$_0,1); //从$_0位置开始,返回1个字符 $__=ord($_c)+1; //返回字符串首个字母的ASCII值 $_c=chr($__); //返回指定进制的ASCII值 $_=$_.$_c; //拼接两个变量的内容 赋值 } return str_rot13(strrev(base64_encode($_))); //返回 ROT13 编码/解码(反转字符串(base64加密($_))) 的结果 } highlight_file(__FILE__); //返回高亮代码 /* 逆向加密算法,解密$miwen就是flag */ ?>
逆向这个加密算法
把给出的字符串逆向解密就能得到flag
<?php $str='a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws'; $_ = base64_decode(strrev(str_rot13($str))); $_o=NULL; for($_0=0;$_0<strlen($_);$_0++){ $_c=substr($_,$_0,1); $__=ord($_c)-1; $_c=chr($__); $_o=$_o.$_c; } echo strrev($_o); ?>
flag:{NSCTF_b73d5adfb819c64603d7237fa0d52977}