XCTF-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);
$__=ord($_c)+1;
$_c=chr($__);
$_=$_.$_c;
}
return str_rot13(strrev(base64_encode($_)));
}
highlight_file(__FILE__);
/*
逆向加密算法,解密$miwen就是flag
*/
?>
其中用到了一个没有见过的str_rot13()
方法,了解后如下
<?php
$str = "aA";
// str_rot13方法将字符往后移动13为,a 往后数13位就是 n
$str = str_rot13($str);
print($str);
?>
由于将a
往后移动13
位是n
,再往后移动13
又变成了a
,因为一共26
个英文字母,所以将该题目中给我们的代码反过来写一遍即可
<?php
$str = 'a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws';
$str = str_rot13($str);
$str = strrev($str);
$str = base64_decode($str);
for ($i=0; $i < strlen($str); $i++) {
$c = substr($str,$i,1);
$ascii_c = ord($c)-1;
$c = chr($ascii_c);
$_str = $_str.$c;
}
$str = strrev($_str);
print($str);
?>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程