【linux】 apache多后缀文件解析漏洞复现
文章目录
- 一. 漏洞描述
- 二. 漏洞原理
- 三. 实验环境
- 1. apache版本
- 2. 在网站根目录我们建一个index.php,测试是否解析
- 3. 修改文件名测试
- 4. 用文件名不包含php的文件测试
- 5. 漏洞怎么使用?
- 四. 如何解决
一. 漏洞描述
Apache Httpd支持一个文件拥有多个后缀,不同的后缀执行不同的命令,也就是说当我们上传的文件中只要后缀名含有php,该文件就可以被解析成php文件,利用Apache httpd这个特性,就可以绕过上传文件的白名单。
该漏洞和apache版本和php版本无关,属于用户配置不当造成的解析漏洞,尤其是使用module模式与php结合的所有版本
apache支持php有多种模式,常见的有module、cgi、fastcgi等,此漏洞存在于module模式
二. 漏洞原理
由于管理员的错误配置, AddHandler application/x-httpd-php .php,在有多个后缀的情况下,只要一个文件含有.php后缀的文件即将被识别成PHP文件,没必要是最后一个后缀。利用这个特性,将会造成一个可以绕过上传白名单的解析漏洞。
三. 实验环境
1. apache版本
[root@gaosh-1 modules]# httpd -v
Server version: Apache/2.2.15 (Unix)
Server built: Jun 19 2018 15:45:13
[root@gaosh-1 modules]#
2. 在网站根目录我们建一个index.php,测试是否解析
[root@gaosh-1 html]# cat index.php
<?php
phpinfo();
?>
我们在网页端执行,看看会不会被解析:
解析成功,apache调用了模块进行了解析
3. 修改文件名测试
接着我们来改一下文件名字L:把index.php 改为index.php.aaa
[root@gaosh-1 html]# mv index.php index.php.aaa
测试:
还是可以解析,证明不管php是不是在最后面,哪怕在中间,也能被解析
4. 用文件名不包含php的文件测试
我们再次修改文件名,这次不要出现php
[root@gaosh-1 html]# mv index.php.aaa index.aaa
从这里可以看到,虽然还是php代码,但是文件名没有出现php,这个文件就被当作txt文件来处理了。
在apache与php的结合的网站中,php处理的是.php文件的解析,而apache只负责解析和接受http的请求,Php将.php文件解释执行完毕后,将生成的HTML代码发送给apache,再由 apache将HTML代码发送给客户端。
5. 漏洞怎么使用?
一般的网站可以上传图片,我们把图片的名字命名为 gaosh.php.jpg, 文件名的内容写php代码,然后上传,网站管理人员以为是jpg图片,事实上我们写的是php代码。
四. 如何解决
在apache配置文件里写正则 FileMatch
在httpd.conf的文件最后添加:
<FilesMatch ".(php.|php3.|php4.|php5.)">
Order Deny,Allow
Deny from all
</FilesMatch>
[root@gaosh-1 html]# service httpd restart
测试:
【linux】 apache多后缀文件解析漏洞复现相关推荐
- Apache[多后缀文件名解析漏洞+换行解析漏洞+SSI远程命令执行漏洞]复现
目录 一.多后缀文件解析漏洞 二.Apache换行解析漏洞(CVE-2017-15715) 三.Apache SSI 远程命令执行漏洞
- Apache Solr任意文件读取漏洞复现
Apache Solr任意文件读取漏洞复现 一.简介 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格 ...
- 【文件上传漏洞11】中间件文件解析漏洞基础知识及实验——Nginx
目录 1 文件解析漏洞概述 1.1 概述 1.2 Nginx 解析漏洞 1.2.1 空字节解析漏洞 1.2.2 文件名逻辑漏洞 CVE-2013-4547 1.2.3 CGI-PHP 解析漏洞 2 实 ...
- 文件解析漏洞总结-Apache
Apache解析漏洞 多后缀名解析:xx.php.xxoo Apache认为一个文件可以有多个后缀名,例如:peak.txt.jpg.xx Apache的解析规则是从后(右)往前(左)依次判断后缀名, ...
- 【文件上传漏洞-07】中间件文件解析漏洞概述及实例——Apache、IIS和Nginx
目录 1 Apache解析漏洞 1.1 概述 1.2 Apache解析漏洞实例 1.2.1 实验目的 1.2.2 实验环境 1.2.3 实验一:验证解析顺序漏洞 1.3 总结 2 IIS 解析漏洞 2 ...
- Apache与文件解析漏洞详解
1. Apache介绍与服务搭建 1.1. apache介绍 Apache跨平台的纯粹的web服务器,负责接收处理/响应http请求,之所以说它是纯粹的web服务器,是因为apache对于html页面 ...
- Apache文件解析漏洞
我最为熟悉的便是Apache了,先来研究它的文件解析漏洞.百度许久,又谷歌一番,最终发觉,Apache关于文件解析,似乎只有三种"漏洞".之所以打引号是因为我觉得这三种" ...
- Apache 文件解析漏洞SSRF漏洞原理介绍及代码
Apache 文件解析漏洞 SSRF漏洞原理介绍及代码 1. Apache 环境简介 2. Apache 解析漏洞介绍 3. 解析漏洞利用演示 4.利用场景介绍 1. Apache 环境简介 Ap ...
- nginx 上传文件漏洞_nginx解析漏洞复现
nginx解析漏洞复现 一.漏洞描述 该漏洞与nginx.php版本无关,属于用户配置不当造成的解析漏洞 二.漏洞原理 1. 由于nginx.conf的如下配置导致nginx把以'.php'结尾的文件 ...
最新文章
- No module named ‘tensorflow_hub‘
- 产业互联网时代,猪是如何上天的
- 火狐浏览器服务器意外响应,Firefox 火狐浏览器 83 发布,已修复任意代码执行漏洞...
- JAVA异常处理、常用类、反射、集合
- Visual Studio二次安装时无法更改安装位置解决方案
- 随机数芯片,从硬件上能产生真随机数,非伪随机数
- 响应式编程在Android 中的一些探索
- 从 0 开始机器学习 - 机器学习算法诊断
- 机器学习算法总结(六)——EM算法与高斯混合模型
- getElementsByName和getElementByID
- python爬取猫途鹰网站上的评论
- 华为手机最大屏是几英寸的_华为有史以来最大屏幕的手机,屏幕尺寸高达7.12寸,性价比很好!...
- 计算机中桌面中不显示U盘图标,电脑桌面右下角不能显示u盘图标解决方法
- Android 4.4 KitKat 支持 u 盘功能
- mac 完全卸载android,Mac彻底卸载Android Studio
- 如何使用Python实现回文的判断?
- 【Stream流学习】Java 8 新特性|Collectors.joining() 案例详解
- JAVAWEB开发之——Linux命令实战、虚拟机和centos的安装以及联网、常用命令、vi编辑以及软件的安装、sftp的使用
- 【照片动态特效系列】旋转吧,照片!
- php 识别图片主色调,PHP实现获取图片的主色调的方法
热门文章
- redmine备份_Bitnami Redmine备份方法
- Oracle VM VirtualBox虚拟机配置(配置Windows7为例)
- Bloxorz II[POJ3323]
- C++实践(四):C++实现AES-CMAC算法
- matrix67 on a plane
- Matlab中xlabel函数的使用
- 有没有软件自动测试安装软件,驱动检测安装工具
- 海思芯片查看系统内存和mmz内存的命令
- 内网渗透(telnet爆破)
- centos 杀死php进程,CentOS中如何杀掉console-kit-daemon进程?