web中间件原理(个人记录)

本文介绍了服务器的基本概念,包括Web服务器、中间件以及Web容器,如Tomcat和Apache。同时,文章讨论了文件解析的过程和相关漏洞,如Apache和Nginx的文件解析漏洞,以及如何进行安全修复。还提到了Tomcat的远程代码执行漏洞(CVE-2017-12615)及其触发条件。
摘要由CSDN通过智能技术生成

名词解释

服务器:—种管理资源并为用户提供服务的计算机。
Web服务器,即www服务器或http服务器。提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL。向浏览器提供服务的程序。

中间件:提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的
沟通。中间件处在操作系统和更高一级应用程序之间。

Web中间件就是提供Web应用软件和系统软件连接的一个软件的总称。
容器:是中间件的一种,作为操作系统和应用程序之间的桥梁,给处于其中的
应用程序组件(JSP,PHP,ASP)提供一个环境。使处于其中的应用程序组件直接跟容器中的环境变量接口交互,不必关注其它系统问题。

三者之间很多是包含关系,Web服务器> Web中间件 > Web容器

什么是web容器

web容器是一种服务程序,在服务器一个端口就有一个提供相应服务的程序,而这个程序就是处理从客户端发出的请求,如JAVA中的Tomcat容器,ASP的IIS都是这样的容器。一个服务器可以有多个容器。
IIS、Apache、Nginx、Tomcat、Jboss、WebLogic。

什么是文件解析

当服务器接收到一个Http请求的时候,IIS首先需要决定如何去处理这个请求(服务器处理一个.htm页面和一个.aspx页面肯定是不一样)。那IIS依据什么去处理呢?根据文件的后缀名。
服务器获取所请求的页面(也可以是文件,比如1.jpg)的后缀名以后,接下来会在服务器端寻找可以处理这类后缀名的应用程序,如果lIS找不到可以处理此类文件的应用程序,那么lS将直接把这个文件返还给客户端。

Apache文件解析漏洞涉及到一个解析文件的特性:

Apache默认一个文件可以有多个以点分隔的后缀,当右边的后缀无法识别(不在mime.types内),则继续向左识别。
当我们请求这样一个文件:shell.php.xxx.yyyyyy ->无法识别,向左
xxx ->无法识别,向左
php ->发现后缀是php,交给php处理这个文件

漏洞原理

其实,解析漏洞的产生,是由于运维人员在配置服务器时,为了使apache服务器能解析php,而自己添加一个handler,例如:
AddHandler application/x-httpd-php .php

Nginx文件解析漏洞

文件解析漏洞修复方法
1.将php.ini文件中的cgi.fix_pathinfo的值设为0。这样php在解析1.jpg/1.php这样的目录时,只要1.php不存在就会显示404。
2.将/etc/php5/fpm/pool.d/www.conf中security.limit_extensions后面的值设为.php。

Tomcat远程代码执行漏洞,编号:CVE-2017-12615

Tomcat配置文件web.xml中, servlet配置了readonly=fasle时,会引发任意文件上传漏洞。
readonly参数默认是true,即不允许delete和put操作,所以通过XMLHttpRequest对象的put或者delete方法访问就会报告http 403错误。但很多时候为了支持REST服务,会设置该属性为false。将readonly参数设置为false时,即可通过PUT方式创建一个JSP文件,并可以执行任意代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值