Hackinglab文件上传解题笔记

环境:Firefox浏览器+FireBug插件

 

1.      题目中要求上传一个jpg文件,但是如果你真的上传了一张jpg图片时…

 

可知,我们应该还是要上传一个php文件。

按F12可以看到,在前端有一个js脚本会对我们上传的文件类型进行验证。接下来,在安装了FireBug插件后,我们可以直接删除表单中触发js事件的onsubmit属性。

删除之前:

 

单击,删除之后:

 

接下来我们任意上传一个后缀为php的文件即可得到Flag,其他后缀的文件能不能通过验证我没有试过。

既然服务器只对前端做了验证,我们也可以先将这个php文件的后缀名改为jpg,再使用burpsuite抓包,将Content-Type: application/octet-stream改为Content-Type:image/jpeg也可以。

 


2.第二题同理

 

 

3.第三题的话需要进行不同的尝试,最后发现如果上传的文件名为xx.jpg.php时可以通过验证,因为js代码只对第一个“.”之后的文件名进行了验证。因为该文件名最终通过了验证,所以猜测后台也只是做了同样的验证。




你可能感兴趣的:(CTF,writeup)