CTFLearn Web-AudioEdit
打开网站是一个上传mp3的网站,第一反应是文件上传漏洞类型的题目,于是编写简单的php文件,修改其后缀名,上传报错提示无效的文件类型。尝试用burp修改其content-type
为audio/mp3
,依然提示无效。
于是上传正常mp3文件,几次尝试后发现,网页不是根据文件后缀名或是content-type
判断文件是否有效,而是会判断文件结构是否符合。
上传MP3文件后观察其处理流程,基于以下几点判断根据:
- 上传后跳转页面url有一
file
参数,似乎是会将文件重命名为其sha
值; - 上传同一文件会提示
File already exists
,猜测会将mp3文件相关信息存入数据库,通过sha
值判断是否文件已上传过。
上传成功后的展示页面会显示mp3文件的author
、title
等,但是除了author
和title
其余的可调节,应该不是文件自带的数据,所以可以猜测上传mp3文件至少是会把author
和title
存至数据库。
因此有,在上传mp3文件时,网站后台解析文件的作者和题目信息,并将其插入数据库:
insert