上传漏洞之get image size绕过案例和防范措施
功能
getimagesize() 函数用于获取图像大小及相关信息,成功返回一个数组,失败则返回 FALSE 并产生一条 E_WARNING
级的错误信息,如果用这个函数来获取类型,从而判断是否是图片的话,会存在问题。
语法格式
array getimagesize ( string KaTeX parse error: Expected 'EOF', got '&' at position 19: …ename [, array &̲imageinfo ] )
getimagesize() 函数将测定任何
GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP
图像文件的大小并返回图像的尺寸以及文件类型及图片高度与宽度。
绕过方法
大概思路:把一句话木马放入一个图片与之结合再上传上去
方法一:直接伪造头部GIF89A
方法二:CMD方法,copy /b test.png+1.php muma.png
在cmd指令中cd进入目录
copy /b test.png+1.php muma.png
结合PHP与图片成为新的图片
上传到服务器
但是这时候有个问题,这个文件时.png文件不是php文件,没法解析执行,就没法连接到菜刀
之后就需要结合包含漏洞(不论什么图片都当做php脚本执行)来调用这个文件
方法三:直接使用工具增加备注写入一句话木马。
edjpgcom
思路小结
需要木马图片文件,文件上传漏洞与解析漏洞或本地包含漏洞结合获取webshell,在CMD方法中第一次认识到了各个漏洞之间相互帮助的意义,之前学的基本都是单个漏洞