中间件漏洞(Apache篇)
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
使用module模式与php结合的所有版本apache存在未知扩展名解析漏洞。
使用fastcgi模式与php结合的所有版本apache不存在此漏洞。
利用此漏洞时必须保证扩展名中至少带有一个.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篇)相关推荐
- IIS Nginx Apache Tomcat 中间件漏洞
简介 中间件(英语:Middleware)是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通.中间件处在操作系统和更高一级应用程序之间.他充当的功能是:将程序运行环境与操作系统隔离,从 ...
- Apache中间件漏洞深析
Apache中间件漏洞深析 Apache介绍 运行原理介绍 apche解析php流程 Apache攻击手段 换行解析漏洞 多后缀解析漏洞 SSI远程命令执行漏洞 Apache介绍 Apache是世界使 ...
- Web服务器(中间件)漏洞
Web服务器又叫Web中间件,常见的Web中间件有 IIS Apache Nginx Tomcat Weblogic JBoss IIS IIS6.0文件解析漏洞,文件名中分号;后面的内容不会被解析, ...
- iwebsec靶场 中间件漏洞通关笔记2-Tomcat中间件漏洞
目录 一.Tomcat漏洞原理 1.弱口令漏洞 2.远程代码执行漏洞 (1)漏洞原理 (2)漏洞影响范围 (3)漏洞利用方法 二.第02关 Tomcat中间件漏洞 1.打开靶场 2.打开Tomcat环 ...
- 渗透测试-WEB安全梳理-中间件(apache、IIS、tomcat、weblogic、websphere、jboos、nginx)
渗透测试-WEB安全梳理-中间件(apache.IIS.tomcat.weblogic.websphere.jboos.nginx) WEB安全梳理-中间件(apache.IIS.tomcat.web ...
- 安装加密中间件 crypto - 命令篇
安装加密中间件 crypto - 命令篇 安装加密中间件 -- crypto 项目需要,有时候需要安装中间加密件,比如 crypto 一. cmd命令: 先cd到根目录:cd ...略 ...\boo ...
- java抓包asp_asp 之上传漏洞终结篇
asp 之上传漏洞终结篇 更新时间:2007年03月24日 00:00:00 作者: 收藏关于上传漏洞的文章,最近一直遇到这个麻烦, 作者:szjwwwww 出自:黑鹰基地论坛 http://ww ...
- apache不能解析php文件_Web中间件漏洞之Apache篇
Apache简介 Apache 是世界使用排名第一的 Web 服务器软件. 它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的 Web 服务器端软件之一. 它快速. ...
- bat tomcat程序在后台执行_Web中间件漏洞之Tomcat篇
1 Tomcat简介 Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选. ...
最新文章
- [转]kaldi中的特征提取
- CSS的三种使用方式
- 通用mapper笔记
- 【转】线程、Thread类和线程终止
- 都是山寨惹的祸 最邪恶安卓恶意程序肆虐网络
- c语言连连看实验报告,连连看c语言实验报告.docx
- 清华大学马少平:一款智能硬件背后的“AI争霸”...
- 5分钟使用Unity制作AR应用,结合EasyAR制作AR(转)
- [jQuery学习系列四 ]4-Jquery学习四-事件操作
- win7防火墙设置开放某个端口
- 为什么OKR新手要懂得OKRs-E?
- python打分_做一个Python颜值打分系统,比比看杨幂和杨超越到底谁更美?
- 华为智慧屏看鸿蒙,AI加持的另类彩电之华为智慧屏带你体验鸿蒙
- 【概率论与数理统计】期末复习抱佛脚:公式总结与简单例题(完结)
- Web前端day03-CSSC选择器
- 基于N32G45智能家居平台
- origin 2017修改坐标轴上的值
- PHP定时任务实现执行
- Linux复习笔记(2)
- Gmail无法显示邮件图片的解决方法