Loading

[ACTF2020 新生赛]BackupFile

[ACTF2020 新生赛]BackupFile

应该是备份文件泄漏,扫一扫。

image-20220510101421206

image-20220510151637882

# 查看 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)
?>

image-20220510154139392

所以这里的参数提交只要可以相等就行了。

# payload
?key=123

image-20220510155032777

参考文章:

[phpweak](

posted @ 2022-08-13 10:38  knsec  阅读(34)  评论(0编辑  收藏  举报