进入后下载到源码

<?php

include_once "flag.php";

if(isset($_GET['key'])) {

$key = $_GET['key'];

if(!is_numeric($key)) {

exit("Just num!");

}

$key = intval($key);

$str = "123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3";

if($key == $str) {

echo $flag;

}

}

else {

echo "Try to find out source file!";

}


关键是$key == $str 这个弱类型比较:

如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换成数值并且比较按照数值来进行,

在比较时该字符串的开始部分决定了它的值,如果该字符串以合法的数值开始,则使用该数值,否则其值为0。

因此str可以被看作为123

那就试试key=123

BUU 备份文件_弱类型

即可得到flag