BUUCTF virink_2019_files_share
考点:
- 任意文件读取
- 双写
../
绕过过滤
双击开始后,是一个拼魔方的小游戏,进行简单的信息收集,限制了鼠标右键功能,在地址栏前加入view-source:
即可,得到提示:
<link rel="stylesheet" href="/static/style.css">
<link rel="icon" href="/uploads/favicon.ico" type="image/x-icon" />
<!-- Hint : flag in f1ag_Is_h3re -->
<!-- 趣味题,真的是为了出题而出题的,别打我。 By Virink -->
给出了flag的路径,并且其还存在两个路径static
和uploads
路径,static
路径应该是存放网页静态文件,查看uploads
目录:
不存在上传点,继续收集有用信息,使用BurpSuite抓取uploads
路径的数据包:
在点击Preview
时,抓取到/preview?f=favicon.ico
,尝试文件包含读取/etc/passwd
文件:
得到回显:
推测其存在过滤,尝试使用双写绕过:
....//etctc//passwd
直到....//....//....//....//....//....//etctc//passwd
为止,成功读取:
因为给出了flag的路径f1ag_Is_h3re
,构造传参读取:
/preview?f=....//....//....//....//....//....//f1ag_Is_h3re
尝试了半天,猜测到f1ag_Is_h3re
应该是个目录,加上..//flag
重新构造传参:
/preview?f=....//....//....//....//....//....//f1ag_Is_h3re..//flag
发送数据包,得到flag: