Upload-labs 6-10 文件上传靶场

目录

准备

第六关

 第七关

 第八关

 第九关

 第十关


准备

需要自行搭建Upload-labs靶场

第六关

我们首先看一下源码,初一看感觉没什么不一样得,仔细一看第六关没有首尾去空。

 首先上传php试一下,发现上传不了

 在php后面加个空格呢,上传成功

 第七关

首先试了一下末尾加空格,上传失败。

看源码,发现没有对末尾的点进行过滤,windows特性,会自动去后缀名末尾的“.”,那我们测试一下,成功上传。

 第八关

源码 

看源码发现比以前少一个::$DATA

$file_ext = str_ireplace('::$DATA', '', $file_ext);//去除字符串::$DATA

那就在名字后面加上试试

发现文件被成功的上传到服务器,且名称后缀为.php::$data,但是由于Windows的特性在磁盘中会忽略::$data并将文件新建。

 第九关

看了一下源码,把以前的代码都补上了,分析下代码,

首尾去空,去除了::$DATA、转换为小写、再删去末尾的点。

这样一来我们构造文件名,使其经过过滤后得到的还是php的文件名不就行了,所以就”1.php. . “

点+空格+点来进行绕过(不过好像依旧只针对windows)

 第十关

先看一下源码

 查资料发现这里是将黑名单中的后缀进行去空处理。那我们试一试双写后缀进行绕过

$file_name = str_ireplace($deny_ext,"", $file_name);

成功绕过

 安全小白,记录一下思路,大佬勿喷。也请多多提建议。

猜你喜欢

转载自blog.csdn.net/m0_73910867/article/details/127153851