攻防世界(八)web2
攻防世界系列:web2
1.代码审计
知识补充:
strrev(string):反转字符串
strlen(string):字符串长度
substr(string,start,length):截取字符(从第start位开始,取length个字符)
ord(string):把字符转为ASCII
chr():把ASCII转为对应字符
str_rot13(string):用ROT13编码(把字符在字母表中的位置向前移动13位,非字符不变,编码解码由同一函数完成)
2.根据加密算法,编写解密脚本
<?php
$miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";
function dencode($miwen){
$_o=base64_decode(strrev(str_rot13($miwen)));
// echo $_o;
for($_0=0;$_0<strlen($_o);$_0++){
$_c=substr($_o,$_0,1);
$__=ord($_c)-1;
$_c=chr($__);
$_=$_.$_c;
}
return strrev($_);
}
highlight_file(__FILE__);
/*
逆向加密算法,解密$miwen就是flag
*/
$flag = dencode($miwen);
echo $flag;
?>
3.运行结果
________________________________________________________
Every good deed you do will someday come back to you.
Love you,love word !