2024年5月26日发(作者:)

文件上传校验姿势

 客户端javascript校验(一般只校验后缀名)

 服务端校验

1) 文件头content-type字段校验(image/gif)

2) 文件内容头校验(GIF89a)

3) 后缀名黑名单校验

4) 后缀名白名单校验

5) 自定义正则校验

 WAF设备校验(根据不同的WAF产品而定)

文件上传绕过校验方法

➢ 客户端绕过(抓包改包)

方法:可以利用burp抓包改包,先上传一个gif类型的木马,然后通过burp将其改

为asp/php/jsp后缀名即可。

➢ 服务器端绕过

1) 文件类型绕过

方法:通过抓包,将content-type字段改为image/gif。

2) 文件头绕过

方法:在木马内容基础上再加了一些文件信息,

如GIF89a

3) 文件后缀名绕过

即黑名单校验,一般有个专门的 blacklist 文件,里面会包含常见的危险脚本文件。

方法:

(1)找黑名单扩展名的漏网之鱼,如下jsp:jspx、jspf;asp:asa、cer、aspx;

php:php、php3、php4;exe:exee

(2)可能存在大小写绕过漏洞,例如:aSp、pHp。

4) 配合操作系统文件命令规则

(1)上传不符合windows文件命名规则的文件名:

.