文件上传漏洞

任务:
上传图片马到服务器
注意:
1.保证上传后的图片中仍然包含完整的一句话或webshell代码。
2.图片马要.jpg,.png,.gif三种后缀都上传成功才算过关

以gif格式为例上传
首先,查看gif部分源码
在这里插入图片描述
此处红线标记处,存在逻辑漏洞,
原本该代码是判断文件是否符合上传的,
但是在move_uploaded_file()作if条件,
该函数执行返回true时,不管文件是否符合都可以上传了。
不过本题真正想考的是对文件二次渲染绕过,
所以我们就忽视这个逻辑漏洞,继续做题。

我们制作一张图片马进行上传
在这里插入图片描述
上传文件后,发现网页本地目录中存在二次渲染后的图片
在这里插入图片描述
我们用HxD软件打开该二次渲染后的图片会发现我们插入的代码<?php phpinfo(); ?>已经消失了
在这里插入图片描述
显然,这样的图片马上传方式失败了。
不过二次渲染会保留一些文件内容不会改变,所以在制作图片马之前,我们先观察二次渲染前后图片不会改变的地方,将其代码写入其中即可绕过二次渲染
在这里插入图片描述
经对比,蓝色部分是二次渲染不会改变的部分。
于是,将代码写入
在这里插入图片描述
然后保存,重新进行上传。
在本地网页根目录中可以看到22279.gif
在这里插入图片描述
再用HxD软件打开
在这里插入图片描述
代码依然存在,没有被二次渲染掉。
文件绕过成功!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值