实验原理
文件上传从客户端进行检测显然是防护不足的,所以需要从服务器端进行防护。服务端的检测与绕过方法有很多,常见的有:
1.后缀名检测绕过
2.MIME类型检测与绕过
3,文件内容检测与绕过
4. 80截断绕过
5,条件竞争检测与绕过
文件内容的检测是利用 getimagesize)函数获取图片的宽高等信息,如果上传的不是图片,那么则获取不到信息。
文件内容检测的绕过常见的有两种方式:
·在脚本文件前面补充对应的文件头
常见的图片文件头
JPG:FF D8 FF Ee 0e 104A 4649 46
GIF:47494638 39 61(GIF89a)
PNG:89 584E 47
制作图片马
制作图片马的方式也有很多,常见的有:
在图片后写入脚本代码
在cmd中使用命令copy 1.jpg/b+1.php/a 2.jpg
-参数/b指定以二进制格式复制、合并文件,用于图像类/声音类文件
-参数/a指定以 ASCII格式复制、合并文件,用于txt等文档类文件
实验步骤
1、登录操作机,打开浏览器,输入实验地址: http://ip/upfile/4/upload.html
2、在操作机上准备要上传的文件(脚本文件),比如新建5.php文件