文章目录

  • 一. 漏洞描述
  • 二. 漏洞原理
  • 三. 实验环境
    • 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多后缀文件解析漏洞复现相关推荐

  1. Apache[多后缀文件名解析漏洞+换行解析漏洞+SSI远程命令执行漏洞]复现

    目录 一.多后缀文件解析漏洞 二.Apache换行解析漏洞(CVE-2017-15715) 三.Apache SSI 远程命令执行漏洞

  2. Apache Solr任意文件读取漏洞复现

    Apache Solr任意文件读取漏洞复现 一.简介 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格 ...

  3. 【文件上传漏洞11】中间件文件解析漏洞基础知识及实验——Nginx

    目录 1 文件解析漏洞概述 1.1 概述 1.2 Nginx 解析漏洞 1.2.1 空字节解析漏洞 1.2.2 文件名逻辑漏洞 CVE-2013-4547 1.2.3 CGI-PHP 解析漏洞 2 实 ...

  4. 文件解析漏洞总结-Apache

    Apache解析漏洞 多后缀名解析:xx.php.xxoo Apache认为一个文件可以有多个后缀名,例如:peak.txt.jpg.xx Apache的解析规则是从后(右)往前(左)依次判断后缀名, ...

  5. 【文件上传漏洞-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 ...

  6. Apache与文件解析漏洞详解

    1. Apache介绍与服务搭建 1.1. apache介绍 Apache跨平台的纯粹的web服务器,负责接收处理/响应http请求,之所以说它是纯粹的web服务器,是因为apache对于html页面 ...

  7. Apache文件解析漏洞

    我最为熟悉的便是Apache了,先来研究它的文件解析漏洞.百度许久,又谷歌一番,最终发觉,Apache关于文件解析,似乎只有三种"漏洞".之所以打引号是因为我觉得这三种" ...

  8. Apache 文件解析漏洞SSRF漏洞原理介绍及代码

    Apache 文件解析漏洞 SSRF漏洞原理介绍及代码 1. Apache 环境简介 2. Apache 解析漏洞介绍 3. 解析漏洞利用演示 4.利用场景介绍 1. Apache 环境简介 ​ Ap ...

  9. nginx 上传文件漏洞_nginx解析漏洞复现

    nginx解析漏洞复现 一.漏洞描述 该漏洞与nginx.php版本无关,属于用户配置不当造成的解析漏洞 二.漏洞原理 1. 由于nginx.conf的如下配置导致nginx把以'.php'结尾的文件 ...

最新文章

  1. No module named ‘tensorflow_hub‘
  2. 产业互联网时代,猪是如何上天的
  3. 火狐浏览器服务器意外响应,Firefox 火狐浏览器 83 发布,已修复任意代码执行漏洞...
  4. JAVA异常处理、常用类、反射、集合
  5. Visual Studio二次安装时无法更改安装位置解决方案
  6. 随机数芯片,从硬件上能产生真随机数,非伪随机数
  7. 响应式编程在Android 中的一些探索
  8. 从 0 开始机器学习 - 机器学习算法诊断
  9. 机器学习算法总结(六)——EM算法与高斯混合模型
  10. getElementsByName和getElementByID
  11. python爬取猫途鹰网站上的评论
  12. 华为手机最大屏是几英寸的_华为有史以来最大屏幕的手机,屏幕尺寸高达7.12寸,性价比很好!...
  13. 计算机中桌面中不显示U盘图标,电脑桌面右下角不能显示u盘图标解决方法
  14. Android 4.4 KitKat 支持 u 盘功能
  15. mac 完全卸载android,Mac彻底卸载Android Studio
  16. 如何使用Python实现回文的判断?
  17. 【Stream流学习】Java 8 新特性|Collectors.joining() 案例详解
  18. JAVAWEB开发之——Linux命令实战、虚拟机和centos的安装以及联网、常用命令、vi编辑以及软件的安装、sftp的使用
  19. 【照片动态特效系列】旋转吧,照片!
  20. php 识别图片主色调,PHP实现获取图片的主色调的方法

热门文章

  1. redmine备份_Bitnami Redmine备份方法
  2. Oracle VM VirtualBox虚拟机配置(配置Windows7为例)
  3. Bloxorz II[POJ3323]
  4. C++实践(四):C++实现AES-CMAC算法
  5. matrix67 on a plane
  6. Matlab中xlabel函数的使用
  7. 有没有软件自动测试安装软件,驱动检测安装工具
  8. 海思芯片查看系统内存和mmz内存的命令
  9. 内网渗透(telnet爆破)
  10. centos 杀死php进程,CentOS中如何杀掉console-kit-daemon进程?