buu-[极客大挑战 2019]Secret File

打开题目

 

 根据提示页面应该是隐藏了一些信息的

查看一下源代码

发现了

 

 进去看看

 

 中间是一个连接,通过查看源代码可以得知是./action.php

点进去看看

 

发现跳转到了end.php

根据提示猜测应该是action.php的访问时间短,过了访问时间后会直接跳转到end.php

使用bp抓包试试

 

 发现还有secr3t.php 

访问看看

发现了一些php代码

 1 <?php
 2     highlight_file(__FILE__);
 3     error_reporting(0);
 4     $file=$_GET['file'];
 5     if(strstr($file,"../")||stristr($file, "tp")||stristr($file,"input")||stristr($file,"data")){
 6         echo "Oh no!";
 7         exit();
 8     }
 9     include($file); 
10 //flag放在了flag.php里
11 ?>

发现有文件包含漏洞,可是过滤掉太多东西了,好像用不了

还是先访问flag.php试试

 

 查看源代码也找不到flag。。。

突然想到上面没有过滤掉filter,那我们就可以通过php伪协议php://filter来读取文件了

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

 

 再将得到的base64解码即可得到flag

 

posted @ 2021-06-08 19:53  c0d1  阅读(41)  评论(0编辑  收藏  举报