[极客大挑战 2019]Secret File

php://filter 是一种元封装器, 设计用于数据流打开时的筛选过滤应用。

php://filter/resource=<待过滤的数据流>(就是文件的路径)

php://filter/read=<读链需要应用的过滤器列表>(就是具体的操作)

?file=php://filter/convert.base64-encode/resource=flag.php 就是将flag.php文件以base64的形式输出

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

image-20211215121447088

1.通过查看源码发现了隐藏的Archive_room.php

2.进入后有一个按钮

image-20211215115645442

3.点击后发现没有什么东西,尝试将其抓包.

image-20211215115713216

4.抓到了一个action.php的包,提示 secr3t.php

image-20211215115914770

5.进入后得到了一串代码,提示flag在flag.php里面

image-20211215120015470

6.但是进入后没有flag,刚开始我以为还是像之前一样用背景把flag给覆盖掉了,但是通过查看页面源代码发现并没有将flag写出来。

根据提示我们可以肯定flag确实是在这里,但是前端却看不到,我们猜测flag是写在了php代码里面。

那么怎样来获取完整的flag.php文件呢?我们立马想到了secr3t.php的文件包含漏洞

image-20211215120141827

7.于是用php伪装协议来读取flag

http://10522756-a5ce-45ce-8e08-12bcafe558fb.node4.buuoj.cn:81/secr3t.php?file=php://filter/convert.base64-encode/resource=flag.php

得到一串很长的base64编码,解码得到答案

image-20211215120645430



posted @ 2022-01-18 15:47  L0VEhzzz  阅读(63)  评论(0编辑  收藏  举报