前言:
今天我们来学习文件上传及下载,学习靶场为upload-labs
正文:
第六关(大小写绕过)
这一关是大小写绕过,将一个字母变大写。

上传成功

使用蚁剑连接一下,他的名字在上传到服务器上之后被改名字了,被改成:202510142009411749.phP。输入密码发现连接成功。

第七关(空格绕过黑名单)
这一关我们使用大小写过不去,看一下源代码。
$deny_ext = array(".php",".php5",".php4",".php3",".php2",".html",".htm",".phtml",".pht",".pHp",".pHp5",".pHp4",".pHp3",".pHp2",".Html",".Htm",".pHtml",".jsp",".jspa",".jspx",".jsw",".jsv",".jspf",".jtml",".jSp",".jSpx",".jSpa",".jSw",".jSv",".jSpf",".jHtml",".asp",".aspx",".asa",".asax",".ascx",".ashx",".asmx",".cer",".aSp",".aSpx",".aSa",".aSax",".aScx",".aShx",".aSmx",".cEr",".sWf",".swf",".htaccess",".ini");
$file_name = $_FILES['upload_file']['name'];
$file_name = deldot($file_name);//删除文件名末尾的点
$file_ext = strrchr($file_name, '.');
$file_ext = strtolower($file_ext); //转换为小写
$file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA
使用空格过滤一下,上传kun12343.php,然后抓包

在php后面加个空格。点击发送。发现上传成功。

打开虚拟机查看。发现改了名字。

第八关(点绕过黑名单)
输入空格 发现被限制了

输入空格 点,成功上传

输入点 空格 ,成功上传

输入点

后面点的就没被过滤。
第九关(::$DATA绕过黑名单)
查看源代码

发现没有
$file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA
输入::$DATA,发现上传成功

第十关(点空格点绕过黑名单)
输入空格 点

输入点 空格 ,不行

输入点 空格 点,发现成功上传

&spm=1001.2101.3001.5002&articleId=153413190&d=1&t=3&u=3f316f76c14a420f824646e168cf0114)
714

被折叠的 条评论
为什么被折叠?



