当前位置: 代码迷 >> 综合 >> Buuctd[极客大挑战 2019]Secret File
  详细解决方案

Buuctd[极客大挑战 2019]Secret File

热度:101   发布时间:2023-11-24 23:31:30.0

在这里插入图片描述
写过之前buu的那道include后对伪协议有了一点了解,看到file这个词,感觉是要读取文件。
在这里插入图片描述
打开后f12,能看到一个php文档
在这里插入图片描述
点进去之后就这样了
在这里插入图片描述
因为之前看了伪协议的原因,所以尝试了一下
?file=data://text/plain [post]<?php phpinof()?>
和 ?file=php://input [post]<?php phpinof()?>
两个结果都是
(为什么不尝试php://filter那个,因为include那题用过了,我也没想到这题也是)
在这里插入图片描述
然后小瑶就去看大佬们的wp了
发现要先抓包(因为action.php访问时间很短,跳转到end.php后什么也没有),之后就乖乖去抓包了
在这里插入图片描述

抓包后就能看到一个 secr3t.php文档,尝试进行访问
在这里插入图片描述
访问后可以看到一段php代码,提示flag放在了flag.php里,然后我们访问flag.php
在这里插入图片描述查看源代码,发现前端中没有显示flag,由于之前secr3t.php里有一个文件包含漏洞(flag可能写在了php代码里面)
仔细分析一下代码,传入的file经过了过滤(还刚好过滤了之前小瑶一开始猜测的两个伪协议,真是让人头大!)
因为没有过滤filter
所以可以和buu上一题include构造的payload一样
url/secr3t.php?file=php://filter/convert.base64-encode/resource=flag.php 获得一个用base64编码的php代码

在这里插入图片描述最后直接base64解密即可获得flag
提供一个大佬细节

  相关解决方案