文件上传upload-labs靶场通关指南

第一关 前端js检查——后缀检查

分析:尝试上传1.php文件,提示只允许上传png|jpg|gif文件。

尝试:上传一个1.php.jpg文件。利用burup suite抓包,并修改 为1.php,上传成功,说明只进行了前端js检查。

浏览器访问upload/1.php,显示如下,成功上传shell

第二关 MIME绕过

根据源码看,进行了MIME类型检查。

使用burp suite抓包,改包:修改content-Type: image/png,如下:

从上图可见上传成功,使用cknife连接shell.php

 第三关 黑名单限制 - 文件拓展名绕过

通过以下提示(或者查看)可看出不允许上传.asp,.aspx,.php,.jsp后缀文件

 可考虑使用.phtml,.php3等绕过

上传shell.phtml、shell.php3

上传成功,使用cknife连接

第四关 黑名单验证 - .htaccess文件绕过

由提示可知,几乎禁止了全部可执行文件后缀。

此时可考虑使用.htaccess文件进行黑名单绕过

1)创建.htaccess文件,并上传

<FilesMatch "shell.png">
SetHandler application/x-httpd-php
</FilesMatch>

.htaccess文件说明:通过一个.htaccess文件调用php的解析器去解析一个文件中只要包含“shell.png”这个字符串任意文件。

2)上传shell.png

<?php @phpinfo();?>

3)浏览器访问shell.png,解析成功,如下:

第五关 黑名单验证 - 文件后缀大写绕过

这一关禁止上传.htaccess文件,但是没有强制转换为小写,所以可以使用全部大写文件后缀进行绕过。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值