BUUCTF virink_2019_files_share

BUUCTF virink_2019_files_share

考点:

  1. 任意文件读取
  2. 双写../绕过过滤

BUUCTF virink_2019_files_share_第1张图片

双击开始后,是一个拼魔方的小游戏,进行简单的信息收集,限制了鼠标右键功能,在地址栏前加入view-source:即可,得到提示:

<link rel="stylesheet" href="/static/style.css">
<link rel="icon" href="/uploads/favicon.ico" type="image/x-icon" />


给出了flag的路径,并且其还存在两个路径staticuploads路径,static路径应该是存放网页静态文件,查看uploads目录:
BUUCTF virink_2019_files_share_第2张图片
不存在上传点,继续收集有用信息,使用BurpSuite抓取uploads路径的数据包:
BUUCTF virink_2019_files_share_第3张图片
在点击Preview时,抓取到/preview?f=favicon.ico,尝试文件包含读取/etc/passwd文件:
BUUCTF virink_2019_files_share_第4张图片
得到回显:
BUUCTF virink_2019_files_share_第5张图片
推测其存在过滤,尝试使用双写绕过:

....//etctc//passwd

直到....//....//....//....//....//....//etctc//passwd为止,成功读取:
BUUCTF virink_2019_files_share_第6张图片
因为给出了flag的路径f1ag_Is_h3re,构造传参读取:

/preview?f=....//....//....//....//....//....//f1ag_Is_h3re

BUUCTF virink_2019_files_share_第7张图片
尝试了半天,猜测到f1ag_Is_h3re应该是个目录,加上..//flag重新构造传参:

/preview?f=....//....//....//....//....//....//f1ag_Is_h3re..//flag

BUUCTF virink_2019_files_share_第8张图片
发送数据包,得到flag:
BUUCTF virink_2019_files_share_第9张图片

你可能感兴趣的:(BUUCTF,WEB,Writeup,BUUCTF,virink_2019,files_share,writeup,CTF)