Apache(总联想到武直那个)是最常见,使用人数最多的一款web服务器软件。跨平台,多扩展,开源,用过的人都说好

Apache的漏洞主要集中在解析漏洞这一块

1.未知扩展名解析漏洞

Apache的一个有名的解析特性:一个文件可以有多个以点分隔的后缀,当最右侧后缀无法识别的时候,继续向左识别,知道识别到认识的合法后缀才进行解析

很好理解不截图了   我上传了一个名字叫lcx.php.qqq 的文件,当此特性存在的时候,一看.qqq不认识,继续解析,.php我认识,解析成php文件了。访问也是同理,比如访问phpinfo.php.qqq可成功显示phpinfo

那么哪些后缀Apache不认识?

不在mime.types当中的都不认识 (Multipurpose Internet Mail Extensions)

到安装Apache的目录下找这个文件

里面有一堆

但是这里有一个问题

当PHP与Apache的结合方式为fastcgi时,测试结果如图,不存在此解析漏洞

而PHP与Apache的结合方式为module时是存在此解析漏洞的

除了结合方式,此漏洞存在与否还与默认Apache解析方式有关,没有认识的后缀就会按照默认方式解析

这点要注意

所以可利用的点emmm......

防御的话,修改Apache配置文件 httpd.conf 禁止PHP文件的访问权限,或者改上传的文件名

2.AddHandler解析漏洞

在httpd.conf中

AddType application/x-httpd-php .jpg     (.jpg可以换成.txt什么的   将扩展名为.jpg的文件按PHP执行)

或者

AddHandler php5-script .php    (只要文件名中包含.php就会按照PHP执行)

防御:修改Apache配置文件 httpd.conf 禁止PHP文件的访问权限

要么

伪静态试试,把有什么php的文件重写吧

如图是开启了rewrite功能

新建.htaccess文件,语法网上找吧

3.CVE2017-15715

2.4.0~2.4.29版本的Apache受灾

熟悉正则的老哥都知道,$匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 '\n'换行或 '\r'回车(要匹配 $ 字符本身,请使用 \$)

于是,在解析PHP时,例如1.php\x0a将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略

例: 上传一个文件1.php ,用burp抓包, 找到上传的文件名后面加个什么东西,比如加个.变成 1.php. ,再send to repeater ,把新加的. 位置的hex十六进制编码处改成0a,再传上去

之后访问 /1.php%0A   ( %0A为换行的URL编码)即可按照PHP执行此文件

只要用正则来匹配后缀进行php解析的Apache就可能存在这个问题

也算是新时代的Apache解析漏洞,对应老版的本文第1点

防御 :避免使用这些版本的Apache,或者前面那些思路还可以利用

随便转载,请标明作者出处

常见web中间件漏洞(二)Apache漏洞的更多相关文章

  1. 常见web中间件漏洞(四)Tomcat漏洞

    这部分好久没写了,继续更新web中间件漏洞思路整理(不复现) ,争取...整理完 前几篇指路链接: nginx: https://www.cnblogs.com/lcxblogs/p/13596239 ...

  2. 常见web中间件漏洞(三)Nginx漏洞

    nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,有  开源,内存占用少,并发能力强,自由模块化,支持epoll模型,可限制连接数,支持热部署,简单 ...

  3. 常见web中间件漏洞(一)IIS漏洞

    web中间件作为web安全的重要一块,经常会有人问balabala,虽然有很多已经人尽皆知并且基本不再构成威胁了,但是还是有必要说一下,了解历史,了解我们从哪里来 鉴于内容实在是太多,本来打算一起写完 ...

  4. 常见web中间件漏洞(五)weblogic漏洞

    继续整理有关中间件漏洞思路(仅做简单思路整理,不是复现,复现请参考大佬们的长篇好文,会在文章中列举部分操作) WebLogic是Oracle公司出品的一个application server,确切的说 ...

  5. Web中间件 - 常见漏洞总结

    *文章来源:https://blog.egsec.cn/archives/472 *本文将主要说明:Web中间件常见漏洞的产生原因以及修复方案 什么是Web中间件? 百度百科是这样解释的:中间件是介于 ...

  6. Web中间件常见漏洞总结

    一.IIS中间组件: 1.PUT漏洞 2.短文件名猜解 3.远程代码执行 4.解析漏洞 二.Apache中间组件: 1.解析漏洞 2.目录遍历 三.Nginx中间组件: 1.文件解析 2.目录遍历 3 ...

  7. 常见WEB开发安全漏洞 原因分析及解决

    目 录 1 会话标识未更新 3 1.1 原因 3 1.2 解决 3 2 SQL注入 3 2.1 原因 3 2.2 解决 5 3 XSS跨站脚本编制 5 3.1 原因 5 3.2 解决 5 4 XSRF ...

  8. 常见 WEB 安全漏洞(转)

    SQL注入 成因:程序未对用户的输入的内容进行过滤,从而直接代入数据库查询,所以导致了sql 注入 漏洞 . 思路:在URL处可以通过 单引号 和 and 1=1 and 1=2 等语句进行手工测试s ...

  9. 十大常见web漏洞及防范

    十大常见web漏洞 一.SQL注入漏洞 SQL注入攻击(SQL Injection),简称注入攻击.SQL注入,被广泛用于非法获取网站控制权,是发生在应用程序的数据库层上的安全漏洞.在设计程序,忽略了 ...

随机推荐

  1. 为什么socket是三次握手挥手却是四次

    为知笔记地址: https://794e611d.wiz03.com/wapp/pages/view/share/s/1VjC4t215AfJ2knVCX1yXcay1HkR1O0_L4CF2w2CR ...

  2. [转]12个scp传输文件的命令栗子

    原文地址: https://www.cnblogs.com/voidy/p/4215891.html copy原文是为了修改部分错误以及便于记录自己的笔记.英文原文点:这里 安全复制 Scp(Secu ...

  3. leetcode 数组分成和相等的三个部分

    题目: 给你一个整数数组 A,只有可以将其划分为三个和相等的非空部分时才返回 true,否则返回 false. 形式上,如果可以找出索引 i+1 < j 且满足 (A[0] + A[1] + . ...

  4. Java多线程事务管理

    今天要讨论的是"Java实现多线程单条数据事务管理",在此之前,顺便回顾一下实现多线程的几种方式 实现多线程的三种方式 一.继承Thread类 第一种方法是继承Thread类,重写 ...

  5. mysql 索引介绍与运用

    索引 (1)什么是索引? 是一种提升查询速度的 特殊的存储结构. 它包含了对数据表里的记录的指针,类似于字典的目录. 当我们添加索引时会单独创建一张表来去存储和管理索引,索引比原数据大,会占用更多的资 ...

  6. Docker部署Mysq集群

    1.PXC(Percona XtraDB Cluster) 速度慢 但能保证强一致性 适用于保存价值较高的数据 数据同步是双向的 在任一节点写入数据 都会同步到其他所有节点 在任何节点上都能同时读写 ...

  7. 深入理解C++11 阅读笔记

    二 保证稳定性和兼容性保持与C99兼容 预定义宏 C99语言标准增加的一些预定义宏,C++11同样增加了对这些宏的支持 __func__预定义标识符 功能是返回所在函数的名字,在C++11中,标准甚至 ...

  8. 【Python从入门到精通】(十)Python流程控制的关键字该怎么用呢?【收藏下来,常看常新】

    您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 这篇文章主要介绍Python中流程控制的关键字的使用,涉及到if else,for,while等关键字 干货满满,建议收藏,需要用到时常看看. 小 ...

  9. PYTHON找色不变移动

    import cv2 import aircv as ac import numpy as np def wmhd(sjh): bzz0=0 bzz1=0 bzz2=0 xxa=0 yya=0 xxb ...

  10. 团队开发day05

    在进行网络间的通信中,需要开启线程来实现网络连接, 但是在activity中无法拿到获取到的数据,数据只能在网络线程中查看 解决:通过Handler在线程之间进行通信,传递获取到的信息 Handler ...