Apache篇

​ Apache 是世界使用排名第一的Web服务器软件,几乎可以运行在所有的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

Apache目录结构

bin:存放常用的命令工具,如httpd
cgi-bin:存放linux下常用命令,如 xxx.sh
error:错误记录
htdocs:网站源码
icons:网站图标
manual:手册
modules:扩展模块

未知扩展名解析漏洞

漏洞原理

靶场:12server4(快照选择apache)

Apache默认一个文件可以有多个以点分割的后缀,当最后的后缀无法解析的时候,则继续向左识别直到识别到合法的后缀才进行解析。

phpinfo.php.beizi服务器无法解析.beizi所以继续往前解析,到.php时,会解析为php文件,所以直接访问phpinfo.php.beizi文件,可以直接显示phpinfo

Apache认识的文件名

Apache/conf/mime.types

不在mime.types当中的都不认识 (Multipurpose Internet Mail Extensions),格式如下

# application/iotp
application/ipfix               ipfix
# application/ipp
# application/isup
application/java-archive            jar
application/java-serialized-object      ser
application/java-vm             class
application/javascript              js
application/json                json
# application/kpml-request+xml
# application/kpml-response+xml
application/lost+xml               lostxml
application/mac-binhex40            hqx
application/mac-compactpro          cpt
# application/macwriteii
application/marc                mrc
application/mathematica             ma nb mb
application/mathml+xml             mathml
  1. 使用module模式与php结合的所有版本apache存在未知扩展名解析漏洞。

  2. 使用fastcgi模式与php结合的所有版本apache不存在此漏洞。

  3. 利用此漏洞时必须保证扩展名中至少带有一个.php,不然将默认作为txt/html文档处理。

Kali 复现

sudo service apache2 restart
cd /etc/apache2/mods-enabled
sudo vi php7.4.conf

正则表达式中,$用来匹配字符串结尾位置。如果设置了RegExp对象的Multiline属性的条件下,还会匹
配到字符串结尾的换行符"\n"或"\r"。
<FilesMatch ".+\.ph(ar|p|tml)$">SetHandler application/x-httpd-php

这段代码用于匹配结尾是.php|.phar|.phtml的文件,当作php文件解析

正则表达式中,$用来匹配字符串结尾位置。如果设置了RegExp对象的Multiline属性的条件下,还会匹配到字符串结尾的换行符"\n"或"\r"。

修改之后代码如下

<FilesMatch ".+\.ph(ar|p|tml)\.">SetHandler application/x-httpd-php

这样用于匹配结尾是.php|.phar|.phtml 后面为.*的文件,如beizi.php.bak,可以当作php文件解析

/var/www/html目录下新建 vim beizi.php.bak 写入代码 <?php phpinfo();?>

重新启动apache服务 service apache2 restart 直接访问 http://192.168.152.128/beizi.php.bak

该文件被当作php文件解析

AddHandler导致的解析漏洞

(1)apache在解析文件时有一个原则:当碰到不认识的扩展名时,将会从后往前解析,直到遇到认识的扩 展名为止

(2)如果都不认识将会暴露源码。

在apache配置不当的时候就会造成apache解析漏洞。

复现

1、在httpd.conf 把注释去掉,后缀是存在.php .phtml都会解析成php文件

#AddType application/x-httpd-php .php .phtml

这句话的意思是后缀存在 .php .phtml 当作 php文件解析。

在根目录新建beizi.php.aaa,直接访问会被当作php文件解析

修复建议(暂时没有理解代码本意)

1.在httpd.conf或httpd-vhosts.conf中加入以下语句,从而禁止文件名格式为.php.的访问权限:

<FilesMatch ".(php.|php3.|php4.|php5.)">
Order Deny,Allow
Deny from all
</FilesMatch>

2.把配置不当的文件进行修改

目录遍历漏洞

漏洞原理

客户端访问到一个目录的时候,Apache服务器将会默认寻找一个index list 中的文件,若文件不存在,则会列出目录下所有文件或者返回403状态码,而列出目录下所有文件的行为,称为目录遍历漏洞。

http://192.168.152.128/admin

如果该目录下存在文件夹

修复建议

在httpd.conf文件中找到Options + Indexes + FollowSymLinks + ExecCGI

并修改成Options -Indexes + FollowSymLinks + ExecCGI并保存(把+修改为-)

+ Indexes 允许目录浏览
— Indexes 禁止目录浏览

Apache换行解析漏洞(CVE-2017-15715)

描述: Apache(音译为阿帕奇)是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台安全性被广泛使用,是最流行的Web服务器端软件之一。 此漏洞的出现是由于 apache 在修复第一个后缀名解析漏洞时,用正则来匹配后缀。在解析 php 时 xxx.php\x0A 将被按照 php 后缀进行解析,导致绕过一些服务器的安全策略

服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台安全性被广泛使用,是最流行的Web服务器端软件之一。 此漏洞的出现是由于 apache 在修复第一个后缀名解析漏洞时,用正则来匹配后缀。在解析 php 时 xxx.php\x0A 将被按照 php 后缀进行解析,导致绕过一些服务器的安全策略
该漏洞曾复现过,可以在我的个人博客找到

http://beizi.xyz

中间件漏洞(Apache篇)相关推荐

  1. IIS Nginx Apache Tomcat 中间件漏洞

    简介 中间件(英语:Middleware)是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通.中间件处在操作系统和更高一级应用程序之间.他充当的功能是:将程序运行环境与操作系统隔离,从 ...

  2. Apache中间件漏洞深析

    Apache中间件漏洞深析 Apache介绍 运行原理介绍 apche解析php流程 Apache攻击手段 换行解析漏洞 多后缀解析漏洞 SSI远程命令执行漏洞 Apache介绍 Apache是世界使 ...

  3. Web服务器(中间件)漏洞

    Web服务器又叫Web中间件,常见的Web中间件有 IIS Apache Nginx Tomcat Weblogic JBoss IIS IIS6.0文件解析漏洞,文件名中分号;后面的内容不会被解析, ...

  4. iwebsec靶场 中间件漏洞通关笔记2-Tomcat中间件漏洞

    目录 一.Tomcat漏洞原理 1.弱口令漏洞 2.远程代码执行漏洞 (1)漏洞原理 (2)漏洞影响范围 (3)漏洞利用方法 二.第02关 Tomcat中间件漏洞 1.打开靶场 2.打开Tomcat环 ...

  5. 渗透测试-WEB安全梳理-中间件(apache、IIS、tomcat、weblogic、websphere、jboos、nginx)

    渗透测试-WEB安全梳理-中间件(apache.IIS.tomcat.weblogic.websphere.jboos.nginx) WEB安全梳理-中间件(apache.IIS.tomcat.web ...

  6. 安装加密中间件 crypto - 命令篇

    安装加密中间件 crypto - 命令篇 安装加密中间件 -- crypto 项目需要,有时候需要安装中间加密件,比如 crypto 一. cmd命令: 先cd到根目录:cd ...略 ...\boo ...

  7. java抓包asp_asp 之上传漏洞终结篇

    asp 之上传漏洞终结篇 更新时间:2007年03月24日 00:00:00   作者: 收藏关于上传漏洞的文章,最近一直遇到这个麻烦, 作者:szjwwwww 出自:黑鹰基地论坛 http://ww ...

  8. apache不能解析php文件_Web中间件漏洞之Apache篇

    Apache简介 Apache 是世界使用排名第一的 Web 服务器软件. 它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的 Web 服务器端软件之一. 它快速. ...

  9. bat tomcat程序在后台执行_Web中间件漏洞之Tomcat篇

    1 Tomcat简介 Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选. ...

最新文章

  1. [转]kaldi中的特征提取
  2. CSS的三种使用方式
  3. 通用mapper笔记
  4. 【转】线程、Thread类和线程终止
  5. 都是山寨惹的祸 最邪恶安卓恶意程序肆虐网络
  6. c语言连连看实验报告,连连看c语言实验报告.docx
  7. 清华大学马少平:一款智能硬件背后的“AI争霸”...
  8. 5分钟使用Unity制作AR应用,结合EasyAR制作AR(转)
  9. [jQuery学习系列四 ]4-Jquery学习四-事件操作
  10. win7防火墙设置开放某个端口
  11. 为什么OKR新手要懂得OKRs-E?
  12. python打分_做一个Python颜值打分系统,比比看杨幂和杨超越到底谁更美?
  13. 华为智慧屏看鸿蒙,AI加持的另类彩电之华为智慧屏带你体验鸿蒙
  14. 【概率论与数理统计】期末复习抱佛脚:公式总结与简单例题(完结)
  15. Web前端day03-CSSC选择器
  16. 基于N32G45智能家居平台
  17. origin 2017修改坐标轴上的值
  18. PHP定时任务实现执行
  19. Linux复习笔记(2)
  20. Gmail无法显示邮件图片的解决方法

热门文章

  1. 学生信息管理系统代码全篇
  2. 【电子设计】AD2019网状铜加地孔(缝合孔)
  3. IE以及其他浏览器主页被劫持到www.2345.com/?kunown的解决办法
  4. 维度数据建模的概念和术语
  5. 2017年10月WEB前端开发实习生面试题总结
  6. 【C语言】C语言函数
  7. Association Class VS Full Class
  8. Linux挂载点的概念
  9. 扫盲:什么是单片机时序,如何看懂时序图
  10. oracle创建索引和删除索引