Hackinglab文件上传解题笔记

本文介绍如何在前端对文件类型进行验证的情况下,利用FireBug插件移除onsubmit事件来上传特定类型的文件,例如将PHP文件伪装成JPG图片进行上传的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境: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代码只对第一个“.”之后的文件名进行了验证。因为该文件名最终通过了验证,所以猜测后台也只是做了同样的验证。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值