Getimagesize()是什么?
Getimagesize()是PHP提供的方法,用以判断目标文件是否为图片。其返回结果中有文件大小和文件类型(通过读取文件的前八位的十六进制)。
因此可将恶意文件从第9位开始写入,以绕过getimagesize()验证
使用xxd读取文件格式:
xxd 文件名 | head -n 1 //读取第一行
在使用xxd读取图片的十六进制时,每种相同格式的图片开头8位都是一样的:
制作图片木马:
方法1:直接伪造头部GIF89A
方法2(推荐,Windows系统即可):CMD:copy /b test.png + muma.php cccc.png
方法3:使用GIMP(开源的图片修改软件),添加备注,写入执行命令。
实验平台:
皮卡丘靶场—Unsafe Fileupload—getimagesize
皮卡丘靶场—File Inclusion(local)
实验步骤:
-
查看合成的图片:前面的信息都一样,只在最后带有恶意代