文件上传 upload-labs 1~20做题记录

本文详细记录了在upload-labs平台进行的20道文件上传题目,涉及多种绕过前端和后端检测的方法,包括但不限于:修改文件后缀名、利用Burp Suite拦截修改Content-Type、利用黑名单不全、大小写绕过、利用Windows特性、NTFS文件系统中的备用数据流、条件竞争等策略,展示了文件上传漏洞的各种攻防技巧。
摘要由CSDN通过智能技术生成

pass-01:

解题思路:(绕开前端js检测

(1):F12 ,直接修改js 允许文件的上传类型 ,

(2):将webshell 文件后缀名改为允许上传的,然后用 burp suite 拦截后修改 文件后缀名 ,

(3):利用 浏览器插件 Noscrip  屏蔽js脚本 

pass-02:

操作过程: 1,禁用了js 脚本依旧不能上传,猜测可能是 content-type 检测

解题思路:(Content-type 检测

(1):将webshell 文件的后缀名改为图片类型 ,再利用 bs 抓包 修改文件后缀

(2):直接上传 webshell 文件 ,利用 bs 修改 Content-type :为 image/gif   绕过

pass-03:

操作过程:修改了webshall 的后缀名,再利用bs 修改成原来的后缀名没有上传成功,猜测服务器端也有文件后缀名检测

                 查看源代码发现有 文件后缀名的黑名单,以及大小写的过滤

解题思路:(服务端 拓展名检测  之  黑名单后缀名不全)

(1) ,  用PHP 的别名进行黑名单绕过,如 php2, php3, php4, php5, phps, pht, phtm, phtml.

(2), 重写文件解析规则绕过。上传先上传一个名为.htaccess文件,内容如下:

<FilesMatch "1.jpg">
SetHandler application/x-httpd-php
</FilesMatch>

然后再上传一个 1.jpg 此时1.jpg 就会被当作 PHP来执行

pass-04:

操作过程:查看源代码 发现黑名单几乎过滤了全部的违法后缀名 ,但少过滤了 .htaccess 后缀

解题思路:(拓展名检测 之 绕过黑名单 之 后缀名缺少绕过

(1),上传一个.htaccess 文件 重写 服务器的文件解析  

创建一个.htaccess文件

内容可以是 : AddType application/x-httpd-php .jpg,可将jpg文件解析为php文件.

或者是 : SetHandler application/x-httpd-php,可将其他所有文件解析为php文件.

(2),利用PHP 和 Windows环境的叠加特性,以下符号在正则匹配时的相等性:

双引号"     =   点号.
大于符号>   =   问号?
小于符号<   =   星号*

先把4.php文件后缀改为4.jpg  然后用bs 将文件名改为 4.php:.jpg,上传成功后会生成4.php的空文件,大小为0KB.

然后再在bs 中把文件名 改为4.<4.<<<4.>>>4.>><后再次上传,重写4.php文件内容,Webshell代码就会写入原来的4.php空文件中。

 

pass-05:

操作过程: 查看源代码发现 黑名单里加上了 .htaccess 后缀 ,但是没有 进行大小写 过滤

解题思路:(拓展名检测  之  黑名单绕过 之  大小写绕过
(1),可以利用 没有进行大小写 进行绕过 ,将1.php 改为 1.phP 上传

              (在Linux没有特殊配置的情况下,这种情况只有win可以,因为win会忽略大小写)

(2)也可以用  pass-04 的(

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值