[ACTF2020 新生赛]BackupFile

[ACTF2020 新生赛]BackupFile

打开题目发现只有一句话,Try to find out source file!

翻译过来就是--试着找出源文件!

像这种啥也没有的地方,一般都会用dirsearch去扫描一下,打开kali

使用dirsearch -u “url地址”

发现重要东西,一个flag.php,一个index.php.bak源码,结合题目访问源码,其实也可以看看flag.php,发现啥也没有,所以还是访问源码,

发现下载下来打开里面是一段php代码,查看一下,有include_once “flag.php” 说明flag要从这里得到,先看条件,传入key值,if(!is_numeric($key))判断输入的key是不是全为数字或者数字字符串,有取反,所以只能输入数字或者数字字符串,然后intval()将key值转化为整形数字,如果是字符串数字也转为数字型,如”123”转化后是123遇到非数字结束,

然后定义str=”123ffwsfwefwf24r2f32ir23jrw923r.......”

然后用==比较,重点php中==属于弱类型比较,当使用数字型和字符型比较时,会先将字符型转为数字型,跟intval()差不多,遇到非数字结束,所以转化后结果为123

由此可知当我们输入key=123时等式成立,然后打印出flag。

posted @ 2026-10-31 19:26  均木  阅读(5)  评论(0)    收藏  举报