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>

  • 相关阅读:
    linux笔记
    初探hook的键盘获取
    python pyHook安装
    转: ZigBee/Z-Stack CC2530实现低功耗运行的配置简介
    三种zigbee网络架构详解
    adc verilog spi 时序
    dac verilog ad5601
    verilog 三段式状态机的技巧
    fpga 状态机 检测1011序列
    lattice diamond fpga 状态机的理解
  • 原文地址:https://www.cnblogs.com/yuzly/p/11226377.html
Copyright © 2011-2022 走看看