zoukankan      html  css  js  c++  java
  • apache httpd多后缀解析漏洞复现

    apache httpd多后缀解析漏洞复现

    一、漏洞描述

    Apache Httpd支持一个文件拥有多个后缀,不同的后缀执行不同的命令,也就是说当我们上传的文件中只要后缀名含有php,该文件就可以被解析成php文件,利用Apache httpd这个特性,就可以绕过上传文件的白名单。

    该漏洞和apache版本和php版本无关,属于用户配置不当造成的解析漏洞

    二、漏洞原理

    由于管理员的错误配置, AddHandler application/x-httpd-php .php,在有多个后缀的情况下,只要一个文件含有.php后缀的文件即将被识别成PHP文件,没必要是最后一个后缀。利用这个特性,将会造成一个可以绕过上传白名单的解析漏洞。

    三、漏洞环境搭建与复现

    1、使用docker搭建漏洞环境,启动环境

    docker-compose up -d

    2、浏览器访问http://172.17.0.1/

      

    3、直接上传一个php文件,提示Unsupported filetype uploaded

      

    4、查看配置文件,下图即可看到,管理员错误配置导致解析漏洞

      

    5、利用apache解析漏洞,上传一个phpinfo.php.jpg或者phpinfo.php.jpeg的文件,下图可以看到成功上传

      

    6、浏览器访问http://172.17.0.1/uploadfiles/phpinfo.php.jpg,发现phpinfo被执行了,该文件被解析为php脚本

      

    四、漏洞防御

    1、使用SetHandler,写好正则

    <FileMatch ".+.php$">

    SetHandler application/x-httpd-php

    </FileMatch>

    2、禁止.php这样的文件执行

    <FileMatch ".+.ph(p[3457]?|t|tml).">

    Require all denied

    </FileMatch>

  • 相关阅读:
    jenkins中通过Publish Over SSH将项目部署到远程机器上
    GitHub 开源的 MySQL 在线更改 Schema 工具【转】
    MySQL ProxySQL读写分离实践
    MySQL ProxySQL读写分离使用初探
    LVS+Keepalived实现DBProxy的高可用
    Redis Codis 部署安装
    CS 和 BS 的区别和优缺点(转)
    Linux的SOCKET编程详解(转)
    数据结构-深度遍历和广度遍历(转)
    社保相关
  • 原文地址:https://www.cnblogs.com/yuzly/p/11226377.html
Copyright © 2011-2022 走看看