[ACTF2020 新生赛]BackupFile 1
惯例, 用dirsearch
扫描一下,
扫到个index.php.bak
dirsearch
项目地址: Github
源代码:
1 |
|
审计代码,
当$key
为数字且与$str
弱相等的时候即可显示出flag
php
弱类型比较:
1
2
3
4
5
6
7
8 字符串和数字比较使用==时,字符串会先转换为数字类型再比较
var_dump('a' == 0);//true,此时a字符串类型转化成数字,因为a字符串开头中没有找到数字,所以转换为0
var_dump('123a' == 123);//true,这里'123a'会被转换为123
var_dump('a123' == 123);//false,因为php中有这样一个规定:字符串的开始部分决定了它的值,如果该字符串以合法的数字开始,则使用该数字至和它连续的最后一个数字结束,否则其比较时整体值为0。
举例:
var_dump('123a1' == 123);//true
var_dump('1233a' == 123);//false