upload-labs文件上传靶场通关记录

pass-1 前端js禁用

关卡说了是前端禁用不合法图片咯,那肯定看看源码咯

在这里插入图片描述
我这里有两种方法:1.抓包改文件后缀名
在这里插入图片描述
在这里把jpg改成php再提交。
2.把源代码复制下来,自己另外创建个html文件,把js部分的限制代码删掉,然后去修改或增加action表单信息,来实现把文件上传,这里是没有action的,所以你得自己再from表单里加一个,在这之前你要知道文件上传的url,因此先提交一个图片,然后看数据包提交的位置。然后加到前面的html文件中,然后再提交文件。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后你可以打开本地文件验证下是否上传成功,如图两个php文件均上传成功。
在这里插入图片描述

pass-2 MIME信息验证

看源代码可知。
在这里插入图片描述
$_FILES[‘myFile’][‘type’] 表示的是文件的 MIME 类型。
MIME信息是指数据包“content-type”返回文件类型,而burp抓包可以修改文件后缀名,那么就容易啦。把要传的文件改成jpg后缀,然后用burp抓包再把后缀名改回来再发出去就好啦!
在这里插入图片描述
在这里插入图片描述
这里也是可以改content-type信息的,就是前面文件就用php文件,然后抓包后改content-type信息。
在这里插入图片描述

pass-3 黑名单

看了提示和源代码就知道咯,这关就是黑名单。那么这关就是通关上传php5,phtml,php3等等文件来绕过这个过滤条件。那么为什么可以这么做,是因为Apache可以通过php来解析这些文件。

在这里插入图片描述
但是此处要注意上传的文件名改变了,要抓包在数据包里看回显(实战可能没有)。
在这里插入图片描述
然后我们在访问时会发现一打开这个文件就直接下载了。根本无法执行,这里是一个bug,不要去纠结是不是自己错了。具体说明再我给的这个链接,这个博主说的很详细大家可以去看下。关于访问文件直接下载的原因

pass-4 .htaccess文件

这一关一看提示和源码,好家伙禁止上传的文件可太多了,几乎所有脚本文件的格式都不允许上传。所以这里要用到的就是.htaccess文件,这是Apache服务器特有的配置文件,它可以改变相关目录下的网页配置,简单来说就是将一种文件以另一种文件的格式去解析。前提是你能访问到该文件。
.htaccess文件内容如下:
在这里插入图片描述
先把这个文件上传,然后再传一个2.png文件(这里面写的是你要执行的php代码),然后访问这个文件,它就会php格式解析。
在这里插入图片描述

pass-5 一次过滤

这关看源代码可以知道,没有循环验证,也就是说这些收尾去空,删除末尾的点,去除字符串::$DATA,转换为小写这些东西只是验证了一次。因此绕过的思路就是用burp抓包,然后修改上传文件的后缀名。(1.php. .)
在这里插入图片描述
这里说一下,windows系统会自动强制删除文件末尾的点。所以这里php.到最后保存的是php文件。
在这里插入图片描述

pass-6 大小写

从代码中可以发现这里少了一个过滤大小写的语句,而且提示中你也可以发现有些文件后缀是含有大写字母。所以这关的绕过思路就是大小写。
上传一个后缀名含大写字母的文件上去就行,只要不和限制的一样就行。
在这里插入图片描述
在这里插入图片描述

pass-7 空格

通过看源码可以知道这关没有过滤空格,所以绕过思路就是抓包后把上传文件后面加上一个空格。但是要注意这里文件上传后是重命名了的。在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

pass-8 文件末尾的点

看源代码可知,这关没有过滤文件末尾的点,因此绕过思路就是抓包在文件末尾加上一个点即可。
在这里插入图片描述
在这里插入图片描述

pass-9 ::$DATA

在window的时候如果文件名+"::$DATA"会把::$DATA之后的数据当成文件流处理,不会检测后缀名,且保持::$DATA之前的文件名,他的目的就是不检查后缀名。
所以绕过思路与前面相同,就是抓包改后加上$::DATA就行。注意这里文件也重命名了。在这里插入图片描述
在这里插入图片描述

pass-10

和第五关是一样的。

pass-11 双写绕过

这关有一个函数 str_ireplace()它是替换字符串中的一些字符。所以如果我们将文件后缀写为.pphphp,这样过滤后剩下的上传就是php文件了。
在这里插入图片描述
在这里插入图片描述

pass-12

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值