“百度杯”CTF比赛 2017 二月场---------------include

================================

个人收获:

1.网页的输出不一定会出现在页面上,也可能在页面源码里面

2.当php开启allow_url_include的时候,可以用php://input伪协议包含文件

3.

php://filter/read=convert.base64-encode/resource=[文件路径]

函数读取文件内容

4.php中的system命令执行函数

================================

 

 

 

题目:

“百度杯”CTF比赛 2017 二月场---------------include

 

 

既然是文件包含,我们搜索下文件包含的关键性函数的状态

allow_url_include

“百度杯”CTF比赛 2017 二月场---------------include

 

当allow_url_include为On而allow_url_fopen为Off的时候,我们可以用用php://input伪协议进行包含

 

“百度杯”CTF比赛 2017 二月场---------------include

当然你也可以用 <?php system(ls)?>

“百度杯”CTF比赛 2017 二月场---------------include

 

然后我想用?path=/var/www/html/dle345aae.php 但是页面和源码没有任何输出

 

那我们在用系统命令获取下

“百度杯”CTF比赛 2017 二月场---------------include

 

查看网页源码就能获得flag

“百度杯”CTF比赛 2017 二月场---------------include

 

网上还有一种解法就是用过php://filter以base64编码的方式读取文件的内容

 

“百度杯”CTF比赛 2017 二月场---------------include

然后base64解密即可

“百度杯”CTF比赛 2017 二月场---------------include