WEB漏洞—文件上传之黑白名单绕过

发布时间 2023-06-11 15:23:28作者: 执小汐

文件上传常见验证---后缀名,类型,文件头等

1.  后缀名:黑名单,白名单

后缀名是直接的验证,分为黑名单(asp,php,jsp,aspx,cgi,war…)和白名单(jpg,png,zip,rar,gif…)。

黑名单是不允许那些格式的文件上传,缺陷:添加文件的后缀,如PHP5等;

白名单是只允许那些格式的文件上传,其余文件则不允许上传,相对来说安全一些。

2.  文件类型:MIME 信息

content-Type的内容,不同文件类型所对应的值也不同

如GIF文件对应:image/gif,JSP文件对应:application/octet-stream等

如果检测的是mime,可以通过修改来绕过验证。 

3.  文件头:内容头信息

用记事本打开文件,会发现不同类型的文件的头部的值不同。 

PNG

JPG

 

在上传文件中常用的PHP函数

参考资料:https://blog.csdn.net/wuxinweii/article/details/117514355?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168646737516800222883907%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=168646737516800222883907&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-117514355-null-null.142^v88^insert_down1,239^v2^insert_chatgpt&utm_term=deldot&spm=1018.2226.3001.4187