upload-labs关卡3(基于黑名单特殊解析后缀名绕过)通关思路

本文回顾了文件上传漏洞中的第二关,重点讲解了如何利用Apache服务器的特性,通过特殊解析后缀名如php3、php5、phtml来绕过MIME验证,实现上传webshell。提醒在靶场内练习,切勿在未经授权的网站上尝试。
摘要由CSDN通过智能技术生成


前言

此文章只用于学习和反思巩固文件上传漏洞知识,禁止用于做非法攻击。注意靶场是可以练习的平台,不能随意去尚未授权的网站做渗透测试!!!


一、回顾第二关知识点

第二关是基于白名单MIME验证绕过,通过抓包修改文件类型达到上传webshell后门。

二、第三关要了解的知识点

1、apache的特性

apache服务器能够使用php解析 .php3 .php5 .phtml。前提是服务器允许解析后缀名为php3、php5、phtml如果想要服务器能使用php解析这些后缀名的话,(绝大多数)可以去apache配置文件httpd.conf添加

AddType application/x-httpd-php .php .phtml .php3 .php5

但是也有少部分因为apache版本原因不能成功的。不能成功的具体操作看https://www.cnblogs.com/Article-kelp/p/14927087.html

三、第三关通关思路

1.看源代码

如图所示
在这里插入图片描述
分析关键源代码

$deny_ext = array('.asp','.aspx','.php','.jsp');
$file_name = trim($_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
$file_ext = trim($file_ext); //收尾去空

这是定义一个黑名单数组然后进行一系列过滤,防止通过点、空格、大小写绕过达到上传恶意文件。这些过滤已经相对安全了,可是发现过滤黑名单中只过滤后缀为php的文件,那么我们能不能上传后缀为php3,php5,phtml的后缀名达到绕过呢?

2、特殊解析后缀名绕过

如图所示
在这里插入图片描述
我们通过bp抓包然后把php后缀名改成php3,然后放包,发现上传成功
在这里插入图片描述
在这里插入图片描述
假如服务器是能够使用php解析php3这个文件后缀名的话,那么此时访问改文件的绝对路径就会成功解析php代码,这里就不演示了


总结

这一关是利用apache服务器的一个特性,能够使用php来解析以php3,phtml等后缀名文件。如果服务器没有配置允许解析此类后缀名的话,也是无法绕过的。此文章是小白自己为了巩固文件上传漏洞而写的,大佬路过请多指教!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无名小卒且不会安全的zzyyhh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值