决斗场 - 实验吧 隐写术?No! WEB 听会歌吧

题目链接:http://www.shiyanbar.com/ctf/19

决斗场 - 实验吧 隐写术?No! WEB 听会歌吧_第1张图片

这道题目的分类是在隐写术中的……然而根据小编的实际操作之后发现,这明显就是一道WEB题嘛……

点开题目链接,发现两个下载链接:

决斗场 - 实验吧 隐写术?No! WEB 听会歌吧_第2张图片

随便点开一个链接:

决斗场 - 实验吧 隐写术?No! WEB 听会歌吧_第3张图片

仔细观察URL,在URL中有一个名为url的参数,观察可以发现,这是一个base64编码,解码验证,内容就是文件名:

决斗场 - 实验吧 隐写术?No! WEB 听会歌吧_第4张图片

再观察相应头信息:

决斗场 - 实验吧 隐写术?No! WEB 听会歌吧_第5张图片

文件的下载是通过Content-Disposition头信息来实现的。

那么现在我们来分析一下整个过程,首先是访问了download.php这个文件,然后用base64编码后的信息给url这个参数传值,然后将url参数的值加入到响应头信息中的Content-Disposition中,进行下载。

到目前为止看起来似乎还没有什么具体的思路,唯一我们知道的就是download.php这个文件名,以及通过url这个参数传递的是base64编码后的文件名。现在能想到的应该是靠输入正确的url参数,使得我们能够下载到正确的文件。

尝试在URL后面随便输一个值:

决斗场 - 实验吧 隐写术?No! WEB 听会歌吧_第6张图片

这里可以发现,如果输入的是错误的值是不会被允许的,题目没有任何的提示,目前为止我们已知的文件名的文件只有题目中能下载的两个mp3格式的音乐文件,以及URL中的download.php文件,那么这个文件是否能够通过修改url参数进行下载呢,因为是base64编码的,所以我们这里先将"download.php"编码后,加入URL中

决斗场 - 实验吧 隐写术?No! WEB 听会歌吧_第7张图片


试了之后,发现这文件还真能下载……将下载好的download.php打开:

决斗场 - 实验吧 隐写术?No! WEB 听会歌吧_第8张图片

一瞬间,注入又变成了PHP审计(出题人,你TM确定这题是隐写?)

观察代码,可以发现这里限制了只能是四个文件名才能下载,一个是download.php,另外两个是链接中可下载的MP3文件,还有一个是我们还没有看到的""hereiskey.php",啥也别说了,这名字已经暴露了这里面就是flag。

同样,对文件名进行base64编码:

决斗场 - 实验吧 隐写术?No! WEB 听会歌吧_第9张图片

输入URL,下载这个文件:


下载完成后,打开,得到flag:

决斗场 - 实验吧 隐写术?No! WEB 听会歌吧_第10张图片

你可能感兴趣的:(安全_WEB,实验吧-CTF题解)