Web中间件常见漏洞总结

什么是Web中间件

是一类提供系统软件和应用软件之间的连接,便于软件各部件之间的沟通的软件,应用软件可以借助中间件在不同的技术架构之间共享信息和资源。中间件位于客户机服务器的操作系统之上,管理着计算资源和网络通信。中间件=平台+通信

一、IIS中间件

1、IIS6.0 PUT漏洞

漏洞原理:

IIS6.0 sever在web服务扩展中开启了WebDAV。WebDAV是在一中HTTP1.1的扩展协议。它扩展了HTTP1.1,在GET、POST、HEAD等几个http标准方法以外添加了一些新的方法,如PUT,使应用程序可对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。可以像在操作本地文件夹一样操作服务器上的文件夹,该扩展也存在缺陷,利用PUT方法可直接向服务器上传恶意文件,控制服务器。导致任意文件上传

修复建议:

关闭WebDAV服务和写入权限

2、短文件名猜解

漏洞原理:

为了兼容16位MS-DOS程序,Windows为文件名较长的文件(和文件夹)生成了对应的Windows8.3短文件名。IIS6.0处理PROPFIND指令的时候,由于对url的长度没有进行有效的长度控制和检查,导致执行memcpy对虚拟路径进行构造的时候,引发栈溢出,从而导致远程代码执行。

修复建议:

关闭WebDAV服务;使用相关的防护设备

3、解析漏洞

漏洞原理

IIS 6.0在处理含有特殊符号的文件路径时会出现逻辑错误,从而造成文件解析漏洞。

二、Apache中间件

Apache 是世界使用排名第一的Web 服务器软件。它可以运行在几乎所有广泛使用的 计算机平台上,由于其 跨平台 和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将 Perl/ Python等 解释器编译到服务器中。

1、多后缀名解析漏洞

漏洞原理:

Apache默认一个文件可以有多个以.分割的后缀,当右边的后缀名无法识别,则继续向左识别;因此可以用于文件上传来绕过黑名单导致getshell

修复建议:

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

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

 方案二:需要保留文件名,可以修改程序源代码,替换上传文件名中的“.”为“_”:

​ eg:$filename = str_replace('.', '_', $filename);

2、目录遍历

漏洞原理:

Apache HTTP Server 2.4.49版本中使用的ap_normalize_pat函数在对路径参数进行规范化时会先进行url解码,然后判断是否存在../的路径穿越符,当检测到路径中存在%字符时,如果紧跟的2个字符是十六进制字符,就会进行url解码,将其转换成标准字符,如%2e->.,转换完成后会判断是否存在…/。

如果路径中存在%2e./形式,就会检测到,但是出现.%2e/这种形式时,就不会检测到,原因是在遍历到第一个.字符时,此时检测到后面的两个字符是%2而不是./,就不会把它当作路径穿越符处理,因此可以使用.%2e/或者%2e%2e绕过对路径穿越符的检测

三、Nginx中间件

Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,nginx的并发能力在同类型的网页服务器中表现较好

1、解析漏洞

漏洞原理:

对任意文件名,在后面添加/任意文件名.php的解析漏洞,比如原本文件名是test.jpg,可以添加test.jpg/x.php进行解析攻击

修复建议:

1、将php.ini文件中的cgi.fix_pathinfo的值设为0.这样php在解析1.php/1.jpg这样的目录时,只要1.jpg不存在就会显示404;

2、将/etc/php5/fpm/pool.d/www.conf中security.limit_ectensions后面的值设为.php。

2、目录遍历

漏洞原理:

Nginx 的目录遍历与 Apache 一样,属于配置方面的问题,错误的配置可到导致目录遍历与源码泄露。

修复建议:

/etc/nginx/sites-avaliable/default里的autoindex on改为autoindex off.

3、CRLF注入

漏洞原理:

CRLF是“回车+换行”的简称(rn),HTTPHeader与HTTPBody时用两个CRLF来分隔的,浏览器根据两个CRLF来取出HTTP内容并显示出来,通过控制HTTP头中的字符,注入恶意换行,就能注入一些会话cookie或者html代码,由于Nginx配置不正确,导致注入的代码会被执行。

修复建议:

Nginx的配置文件/etc/nginx/conf.d/error1.conf修改为使用不解码的url跳转.

4、目录穿越

漏洞原理:

Nginx反向代理,静态文件存储在/home/下,而访问时需要在url中输入files,配置文件中/files没有用/闭合,导致可以穿越至上层目录

修复建议:

Nginx配置文件/etc/nginx/conf.d/error2.conf的/files使用/闭合.

四、Tomcat中间件

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

1、远程代码执行

漏洞原理:

Tomcat运行在Windows主机上,且启用了 HTTP PUT请求方法,可通过构造的攻击请求向服务器上传包含任意代码JSP文件,造成任意代码执行,受影响版本:Apache Tomcat 7.0.0 – 7.0.81

修复建议:

1.检测当前版本是否在影响范围内,并禁用PUT方法;

2.更新并升级至最新版.

 

2、war后门文件部署

漏洞原理:

Tomcat支持在后台部署war文件,可以直接将webshell部署到web目录下,若后台管理页面存在弱口令,则可以通过爆破获取密码

修复建议:

  1. 在系统上以低权限运行Tomcat应用程序。创建一个专门的Tomcat服务用户,该用户只能拥有一组最小权限,例如不允许远程登录;
  2. 增加对于本地和基于证书的身份验证,部署账户锁定机制,对于集中式认证,目录服务也要做相应配置,在CATALINA_HOME/conf/web.xml文件设置锁定机制和时间超时限制;
  3. 以及针对manager-gui/manager-status/manager-script等目录页面设置最小权限访问限制;
  4. 后台管理避免弱口令.

五、jBoss中间件

1、反序列化漏洞

漏洞原理:

Java序列化,简而言之就是把java对象转化为字节序列的过程。而反序列话则是再把字节序列恢复为java对象的过程,然而就在这一转一变得过程中,程序员的过滤不严格,就可以导致恶意构造的代码的实现

修复建议:

  1. 不需要http-invoker.sar 组件的用户可直接删除此组件;
  2. 用于对httpinvoker组件进行访问控制.

2、war后门文件部署

jBoss后台管理页面存在弱口令,登录后台上传war包

六、WebLogic中间件

WebLogic是Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件

WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器,将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中

1、反序列化漏洞

漏洞原理:

Java序列化,简而言之就是把java对象转化为字节序列的过程。而反序列话则是再把字节序列恢复为java对象的过程,然而就在这一转一变得过程中,程序员的过滤不严格,就可以导致恶意构造的代码的实现

修复建议:

  1. 升级补丁
  2. 对访问wls-wsat资源进行访问控制

2、SSRF

漏洞原理:

Weblogic/uddiexplorer/SearchPublicRegistries.jsp中存在一个SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis、fastcgi等脆弱组件

修复建议:

  1. 将SearchPublicRegistries.jsp直接删除;
  2. 删除uddiexplorer文件夹、限制uddiexplorer应用只能内网访问;
  3. 将weblogic安装目录wlserver_10.3/server/lib/uddiexplorer.war做好备份、将weblogic安装目录下的server/lib/uddiexplorer.war下载、用winrar等工具打开uddiexplorer.war、将其下的SearchPublicRegistries.jsp重命名为SearchPublicRegistries.jspx、保存后上传回服务端替换原先的uddiexplorer.war、对于多台主机组成的集群,针对每台主机都要做这样的操作、由于每个server的tmp目录下都有缓存所以修改后要彻底重启weblogic(即停应用–停server–停控制台–启控制台–启server–启应用).

3、任意文件上传

漏洞原理:

Weblogic管理端未授权的两个页面存在任意文件上传漏洞,进而获取服务器权限,访问ws_utc/config.do,设置Work Home Dirws_utc应用的静态文件css目录,访问这个目录是无需权限的(如果能改的话)

修复建议:

  1. 升级补丁
  2. 进入Weblogic Server管理控制台,domain设置中,启用”生产模式”.

4、war后台文件部署

漏洞原理:

由于WebLogic后台存在弱口令,可直接登陆后台上传包含后门的war包

修复建议:

防火墙设置端口过滤,也可以设置只允许访问后台的IP列表,避免后台弱口令.

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇

)">
下一篇>>