打开后首先看到一行提示,提示说让我们找到备份的文件,找找看,最后试出是index.
php.bak,下载下来后打开看看。
<?php
include_once "flag.php";//包含一次flag.php
if(isset($_GET['key'])) {
$key = $_GET['key'];
if(!is_numeric($key)) {//如果传入值不为字符串就显示Just num
exit("Just num!");
}
$key = intval($key);;//获取key的数值
$str = "123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3";
if($key == $str) {//弱类型比较key和str的值是否相同
echo $flag;//返回得到flag
}
}
else {
echo "Try to find out source file!";
}
但是int类型没法和str类型直接比较,需要先经过类型转换,这里的123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3转换成int类型后只会保留123从非数字的第一位开始全部舍去,所以只需要给key传一个123就能得到flag