upload-labs 通关方法

目录

Less-1(JS前端验证)

Less-2(MIME验证)

Less-3(黑名单,特殊过滤)

Less-4(黑名单验证,.htaccess)

Less-5(黑名单,点空格点绕过)

Less-6(黑名单,大小写绕过)

Less-7(黑名单,空格绕过)

Less-8(黑名单,点绕过)

Less-9(黑名单,::$DATA)

Less-10(黑名单,点空格点绕过)

Less-11(黑名单,双写绕过)

Less-12-13(白名单,%00截断)

Less-14(图片马绕过unpack)

Less-15(图片马getimagesize)

Less-16(图片马exif_imagetype)

Less-17(二次渲染)

Less-18(条件竞争)

Less-19(条件竞争)

Less-20(图片马,move_uploaded_file)

第一种解法:

第二种解法:

第三种解法:

Less-21


Less-1(JS前端验证)

在前端页面按F12禁用JS

或者删除checkFile()

或者使用burp将 1.jpg 改为 1.php

Less-2(MIME验证)

在这两处修改,1.jpg 改为 1.php

再将内容类型Content-Type改为 image/jpeg、image/png、image/jpg

Less-3(黑名单,特殊过滤)

将 1.php 后缀改为 php2、php3、php5、php7、phtml等绕过(需要php5.3版本)

Less-4(黑名单验证,.htaccess)

相关知识:

.htaccess文件是Apache服务中的一个配置文件,它负责相关目录下的网页配置。

SetHandler application/x-httpd-php  意思是当前目录下,所有文件都以php进行解析

将.htaccess上传之后再随便上传一个带木马的文件即可

或者使用Apache解析漏洞,使用后缀名为.php.aaa.bbb上传

解析时从后往前 .bbb .aaa 不认识 到 .php 开始解析

Less-5(黑名单,点空格点绕过)

使用burp将后缀名后面加上点空格点绕过

Less-6(黑名单,大小写绕过)

源代码过滤了pHp,没有过滤Php、phP等,大小写绕过

Less-7(黑名单,空格绕过)

windows系统搭建的有该漏洞,windows解析时自动去除末尾的空格

在文件后缀名后加上空格即可绕过

Less-8(黑名单,点绕过)

源代码没有过滤点,在末尾加上.即可绕过

Less-9(黑名单,::$DATA)

相关知识:

在window中如果文件名+"::$DATA"会把::$DATA之后的数据当成文件流处理,不会检测后缀名

末尾加上::$DATA绕过即可

Less-10(黑名单,点空格点绕过)

补充知识:

deldot()函数从后向前检测,当检测到末尾的第一个点时会继续它的检测,但是遇到空格会停下来

后缀加上点空格点绕过即可

Less-11(黑名单,双写绕过)

补充知识:

str_ireplace(find,replace,string,count) 函数替换字符串中的一些字符(不区分大小写)

后缀名使用双写绕过

Less-12-13(白名单,%00截断)

%00截断的限制条件是PHP<5.3.29,且GPC关闭

因为当 magic_quotes_gpc 打开时,所有的 ' (单引号), " (双引号), \ (反斜线) and 空字符会自动转为含有反斜线的转义字符。

在POST请求头HTTP之前加上1.php%00进行截断,下面文件为白名单格式(1.png、1.jpg)

Less-14(图片马绕过unpack)

补充知识:

unpack是二进制解包,前两个字节解包分为两个包,然后合并结合switch判断

使用生成的图片马上传即可

Less-15(图片马getimagesize)

补充知识:

getimagesize用于获取图像大小及相关信息,成功返回一个数组,失败则返回 FALSE

与14关相同,上传图片马即可绕过

Less-16(图片马exif_imagetype)

补充知识:

开启模块之后,做法与14关相同

Less-17(二次渲染)

补充知识:

imagejpeg — 输出图象到浏览器或文件。

使用php版本(PHP 4, PHP 5, PHP 7, PHP 8)

上传一张图片马,创建一张画布,重新绘画进行二次渲染

上传成功之后下载下来使用winhex二进制查看

与原来的图片进行对比,在没有改动的地方插入木马

将插入木马的图片再次上传即可

Less-18(条件竞争)

使用木马脚本

上传脚本,在没有被删除之前执行脚本

python代码

使用burp配合python,上传到burp拦截,然后使用burp进行爆破

python先开启,一直访问这个url,当执行代码没来得及删除的时候python访问到,执行代码

执行之后会写入一个shelltest.php文件,如下所示

执行shelltest.php文件即可

Less-19(条件竞争)

文件名改为白名单,条件竞争在改名之前访问到url生成木马,与18关相同

python代码有所更改

也可以使用非预期解,直接上传图片马,文件包含

Less-20(图片马,move_uploaded_file)

第一种解法:

补充知识:

本关用move_uploaded_file函数执行上传动作,该函数会忽略文件末尾的 ' /. '

因此可以在文件名后加/.这两个符号来绕过黑名单的限制。

使用burp抓包,在高亮处加上/.即可绕过

第二种解法:

上传图片马,文件包含

第三种解法:

直接上传文件,大小写绕过

Less-21

本关请参考另一篇博客

upload-labs 21关解析-CSDN博客

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值