文件上传漏洞的上传逻辑安全

文件头检测

各个文件格式的二进制流
参考:https://www.cnblogs.com/babycool/p/3531696.html

图像文件信息判断

Pass-15 getimagesize函数 Pass-16 exif_imagetype函数 Pass-17 imagecreatefromjpeg函数

逻辑安全-二次渲染 https://www.58pic.com

二次渲染就是根据用户上传的图片,新生成一个图片,将原始图片删除,将新图片添加到数据库中。比如一些网站根据用户上传的头像生成大中小不同尺寸的图像。

逻辑安全-条件竞争 Pass-18

条件竞争漏洞是一种服务器端的漏洞,是由于开发者设计应用程序并发处理时操作逻辑不合理而造成。当应用面临高并发的请求时未能同步好所有请求,导致请求与请求之间产生等待时出现逻辑缺陷

目录命名绕过 Pass-20
数组接受+目录命名 Pass-21
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
upload-20.php
upload-20 . jpg

save_name[0]=upload-20
save_name[1]=.
save_name[2]=php

upload-20.php/.jpg

1.php/.jpg

-----------------------------231102717837736124334110320076
Content-Disposition: form-data; name="save_name[0]"

upload-20.php/
-----------------------------231102717837736124334110320076
Content-Disposition: form-data; name="save_name[2]"


涉及资源

https://www.smi1e.top/2018/06/16/%E6%96%87%E4%BB%B6%E8%A7%A3%E6%9E%90%E6%BC%8F%E6%B4%9E%E6%80%BB%E7%BB%93/
https://pan.baidu.com/s/1cb4agMZonkfUkz_2R_-GxA 提取码:teb8 Web中间件常见漏洞总结.pdf