文件上传漏洞之getimagesize()类型验证
编辑时间:2020-11-19 作者:。北冥有鱼 浏览量:1912 来源:网络

getimagesize()简介
这个函数功能会对目标文件的16进制去进行一个读取,去读取头几个字符串是不是符合图片的要求的
在这里插入图片描述
这就是图片的十六进制,前几位都是一样的
在这里插入图片描述
按照这样的逻辑,我们是不是可以去伪造一个假图片,让函数以为我们这就是图片,达到绕过的目的
在这里插入图片描述
我们在pikachu的getimagesize()这个案例当中,先传图片是没有问题的
在这里插入图片描述
图片木马的制作
在这里插入图片描述
把伪装代码和木马代码放到一起,我在桌面上准备了两张图片和一个php木马,其实一个图片就够了
在这里插入图片描述
我们打开cmd,输入
在这里插入图片描述
这样图片木马就做好了,在这里插入图片描述
这个图片也是能打开的,和正常的看起来没有什么区别,但这个图片的16进制中就会被插入木马代码
在这里插入图片描述
我们将这个木马文件放进去试试
在这里插入图片描述
我们可以访问一下这个图片
在这里插入图片描述
在这里插入图片描述
我们可以看到这个图片,但是这个php木马并没有执行
接下来我们可以之前讲过的本地包含文件漏洞原理来进行操作
我们可以利用include,我们在实际中需要对一些文件包含的点去进行测试,来找到include在哪个目录里,我们在测试中手动尝试一下就行
在这里插入图片描述
在这个位置贴入木马图片的连接
unsafeupload/uploads/2019/05/13/7467665cd9816ca54b9660366698.jpeg
第一次尝试没有反应
我们加几个…/
两个…/后成功了
在这里插入图片描述
在下面phpinfo也就执行了
在这里插入图片描述
文件上传漏洞及防范措施
在这里插入图片描述

文章转自:https://blog.csdn.net/weixin_43915842/article/details/90183305

来说两句吧