upload-labs文件上传靶场实操

该博客介绍了20种Web安全文件上传绕过方法,包括改后缀名绕过、Content - Type绕过、本地文件包含、htaccess绕过等。涉及多种绕过技巧,如大小写、空格、特殊符号等,还提及条件竞争、二次渲染等复杂情况及应对策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


在这里插入图片描述
上传姿势总结:
1)改后缀名绕过
2)Content-Type绕过
3)本地文件包含
4)远程文件包含
5)httpd.conf黑名单绕过
6)htaccess绕过
7)大小写绕过
8)空格绕过
9)点绕过
10)特殊符号::$DATA绕过
11). .绕过
12)多写绕过(多写php)
13)%00截断目录绕过
14)16进制00截断目录
15)本地文件包含+文件头绕过
16)本地文件包含+图片马绕过
17)条件竞争绕过(二次渲染)
18)条件竞争+白名单上传7z+脚本执行
19)重命名数组法绕过

1.Pass-01

改后缀名绕过
只能上传图片,先上传一个jpg格式的图片,然后抓包改格式
改成3.php,以及Content-Type
Content-Type: application/octet-stream
在这里插入图片描述

上传成功后点击图片位置右键获取链接
在这里插入图片描述

得到http://127.0.0.1:9005/upload/3.jpg
改成php格式的就是payload
http://127.0.0.1:9005/upload/3.php
在这里插入图片描述

2.Pass-02

Content-Type绕过
使用上一关的方法还是提示报错,说明存在过滤
在这里插入图片描述

这里的办法是使用重复类型Content-Type
即既然它以Content-Type为准,那么我就先给他一个正确的Content-Type,然后再改后缀为.php

发现上传成功
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述

getshell成功

3.Pass-03

方法一:本地文件包含
直接上传非php文件,使用本地包含文件getshell
在这里插入图片描述在这里插入图片描述
远程文件包含注意点
1.在php.ini中需要allow_url_include = on和allow_url_fopen= on
2.所需的远程文件后缀不能与目标服务器的语言相同,如目标服务器解析PHP代码,则远程文件后缀不能为.php。
比如远程服务上有如下两个文件
在这里插入图片描述

我们发现php格式的链接不了,而txt格式的反而可以
在这里插入图片描述
在这里插入图片描述

方法二:httpd.conf黑名单绕过
黑名单规则不严谨,在某些特定环境中某些特殊后缀仍会被当作php文件解析
php、php2、php3、php4、php5、php6、php7、pht、phtm、phtml
在这里插入图片描述

但是以上方法对nts版本的apache无效,需使用类似如下的版本
在这里插入图片描述

然后在httd.conf新增类型,再重启服务就可以解析php4了
在这里插入图片描述在这里插入图片描述

4.Pass-04

htaccess绕过
在这里插入图片描述

但是看来被过滤了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值