进入靶场他提示我们:Try to find out source file!
我们使用目录扫描工具来扫秒网址,这里我用的是dirsearch
dirsearch -u http://64fe2ab1-4bc7-4780-8c59-552da5382c14.node5.buuoj.cn:81/ ![[ACTF2020 新生赛]BackupFile-2.png](/upload/%5BACTF2020%20%E6%96%B0%E7%94%9F%E8%B5%9B%5DBackupFile-2.png)
这里我们扫描到了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!";
}
浅浅解读一下代码:
1.引用flag.php的内容,flag应该在里面
2..接收一个名为key的get请求然后判断它的类型是否为数字,不是数字就显示Just num!
3.然后把key接收到的数字变成整数
4.只有当key和str弱比较相同才可以输出flag,而php的弱比较会导致数据类型转换
所以我们只需要传参 ?key=123 即可拿到flag
![[ACTF2020 新生赛]BackupFile-1.png](/upload/%5BACTF2020%20%E6%96%B0%E7%94%9F%E8%B5%9B%5DBackupFile-1.png)