常见的备份文件后缀名有 .git .svn .swp .~ .bak .bash_history
于是用dirsearch扫描目录
看到bak的后缀(或者一个一个试一试),
下载后给了源码
<?php
include_once "flag.php";//包含flag文件
if(isset($_GET['key'])) {//获取key参数
$key = $_GET['key'];
if(!is_numeric($key)) {//判断key是否为数值OR数字字符串,不仅可以检查10进制,16进制也可以
exit("Just num!");//不是则退出脚本
}
$key = intval($key);//获取变量整数数值
$str = "123ffwsfwefwf24r2f32ir23jrw923rskfjwtsw54w3";
if($key == $str) {//弱比较
echo $flag;
}
}
else {
echo "Try to find out source file!";
}
?>
简单的弱类型绕过
php中两个等于号是弱等于
取str的123与key进行比较,(弱比较:如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换成数值并且比较按照数值来进行,在比较时该字符串的开始部分决定了它的值,如果该字符串以合法的数值开始,则使用该数值,否则其值为0。所以直接传入key=123就行)
php弱类型