BUUCTF [极客大挑战 2019]Secret File
题目


查看网页源代码
蒋璐源的秘密
你想知道蒋璐源的秘密么?
想要的话可以给你,去找吧!把一切都放在那里了!
Oh! You found me Syclover @ cl4y
发现了./Archive_room.php修改一下url
http://92277a41-f6d8-4b35-9cf8-40e07517bd1b.node4.buuoj.cn:81/Archive_room.php
点一下SECTET发现很快就进入下一个网址了
看一看网页源代码,在Archive_room.php的源代码中发现了一点端倪
绝密档案
我把他们都放在这里了,去看看吧
SECRET Syclover @ cl4y
里面有个./action.php我们访问一下

但是发现很快的访问了end.php。我们没有直接看见action.php那只能抓包看看了
![]()
我们发现这个action.php包有个返回包

HTTP/1.1 302 Found
Server: openresty
Date: Wed, 27 Apr 2022 12:01:42 GMT
Content-Type: text/html; charset=UTF-8
Connection: close
Location: end.php
X-Powered-By: PHP/7.3.11
Content-Length: 63
发现了一个新的php,访问一下看看

来到了一个新的网址,是一段php源码分析一下
secret
stristr() 函数查找字符串在另一个字符串中第一次出现的位置。如果成功,则返回字符串的其余部分(从匹配点)。如果没有找到该字符串,则返回 false。x || y 或 如果 x 和 y 至少有一个为 true,则返回 truephp://filter 是一种设计用来允许过滤器程序在打开时成为流的封装协议。这对于单独具有完整功能的文件函数非常有用,否则就没有机会在读取内容之前将过滤器应用于流之上。
该协议语法为:php://filter:/=
resource=<要过滤的数据流> //这个参数是必须的。它指定了你要筛选过滤的数据流。base64convert.base64-encode和 convert.base64-decode使用这两个过滤器等同于分别用 base64_encode()和 base64_decode()函数处理所有的流数据。
那根据我们读源码可知修改url将file的值被赋为flag.php即可访问,但是在修改url中不能存在../,tp,input,data等字符,但是我们需要将flag通过过滤再输出出来
那么我们通过修改url就可以尝试访问flag了
?file=php://filter/convert.base64-encode/resource=flag.php

对下面的flag进行base64解密就好了
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
