### 漏洞介绍
漏洞影响:Pear HTTP_Upload 1.0.0b3
下载地址:https://pear.php.net/manual/en/package.http.http-upload.php
漏洞类型:任意文件上传
Pear HTTP_Upload简介:
Pear的HTTP_Upload类库提供了一个封装好的html表单文件上传处理程序。特点是能一次处理多个文件的上传 ,容易校验文件的上传状态,限制不期望的文件上传,多语种的报错提示信息(还没有中文,不过可以扩展)
### 漏洞详情
该软件包附带了一个“upload_example.php”文件来测试软件包,当上传“受限”的PHP文件时,用户将收到类似“未授权文件传输”的消息。
HTTP/Upload.php 488行:
var $_extensionsCheck = array('php', 'phtm', 'phtml', 'php3', 'inc');
这里大家可能以为使用大小写混合就能绕过,然后我们往下看代码 503行:
var $_extensionsCaseSensitive = true;
不往下看肯定不知道这个变量是设置什么的 874行:
* @param bool $case_sensitive whether extension check is case sensitive.
* When it is case insensitive, the extension
* is lowercased before compared to the array
* of valid extensions.
通过上面注释就可以发现这个扩展是检查是否区分大小写。默认是开启的,所以使用大小写混合是不能绕过的。
然后一些开发人员不知道Apache还可以处理一些文件扩展名为
1、PHP.1
2、PHP.;
等等的文件。接下来利用就很简单了。
上传文件名:ext_bypass.php.1
以下环境测试成功:
Sucessfully Tested on: Bitnami wampstack-5.6.29-0.
Server version: Apache/2.4.23 (Win64)
Sucessfully Tested on: XAMPP for Linux 5.6.8-0
Server version: Apache/2.4.12 (Unix)
全部评论 (1)