MENU

中间件安全概览

• September 16, 2024 • Read: 329 • 默认分类,CTF

中间件介绍

概念

中间件(英语:Middleware),又译中介层,是一类提供系统软件和应用软件之间连接、便于软件各部件之间的沟通的软件,应用软件可以借助中间件在不同的技术架构之间共享信息与资源。中间件位于客户机服务器的操作系统之上,管理着计算资源和网络通信。

  • 常见中间件

nginx、apache、tomcat、IIS、weblogic、webshere、jetty、jboss等等

Jboss

一个基于J2EEJava 2 Platform Enterprise Edition)的开放源代码的应用服务器。JBoss是一个管理EJB的容器和服务器,但JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。Jboss是Java EE应用服务器(就像Apache是web服务器一样),专门用来运行Java EE程序的。

image-20240703111256489

历史漏洞

JMX Console未授权访问Getshell
JMX Console HtmlAdaptor Getshell(CVE-2007-1036)
JMX控制台安全验证绕过漏洞(CVE-2010-0738)   
Administration Console 弱口令 Getshell 
JBoss JMXInvokerServlet 反序列化漏洞 (CVE-2015-7501) 
JBoss EJBInvokerServlet 反序列化漏洞
JBosS AS 6.X 反序列化漏洞 (CVE-2017-12149) 
JBoss 4.x JBossMQ JMS 反序列化漏洞 (CVE-2017-7504)
漏洞名称漏洞影响影响版本
JBOSS A反序列化命令执行漏洞(CVE-2017-12149)危害:高危Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter 过滤器中没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,从而导致了漏洞JBoss 5.x-6.x
JBossMQ JMS 反序列化漏洞(CVE-2017-7504)危害:高危JBoss AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation Layer的HTTPServerILServlet.java文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码。JBoss AS 4.x及之前版本
Administration Console 弱口令+后台getshellJBoss Administration Console存在默认账号弱口令,如果Administration Console可以登录,就可以在后台部署war包getshell。全版本

Tomcat

Apache Tomcat是一个开源的Java Servlet容器和Web服务器,由Apache软件基金会开发和维护。它主要用于运行Java Servlets和JavaServer Pages (JSP),使得开发者可以创建动态Web应用程序。Tomcat提供了一个纯Java HTTP Web服务器环境,能处理并响应HTTP请求。

特征

image-20240701230708328

历史漏洞

漏洞名称漏洞影响影响版本
Tomcat 任意文件写入(CVE-2017-12615)危害:低危当 Tomcat 运行在 Windows 主机上,且启用了 HTTP PUT 请求方法,攻击者可向服务器上传包含任意代码的 JSP 文件。JSP 文件中的代码将能被服务器执行。Apache Tomcat 7.0.0 - 7.0.79(7.0.81修复不完全)
Tomcat 远程代码执行(CVE-2019-0232)危害:高危在启用了enableCmdLineArguments的Windows上运行Tomcat时,由于JRE将命令行参数传递给Windows的方式存在错误,CGI Servlet很容易受到远程执行代码的攻击。CGI Servlet默认是关闭的Apache Tomcat 9.0.0.M1 to 9.0.17Apache Tomcat 8.5.0 to 8.5.39Apache Tomcat 7.0.0 to 7.0.93
Tomcat 文件包含漏洞(CVE-2020-1938)危害:高危由于Tomcat默认开启的AJP服务(8009端口)存在一处文件包含缺陷,攻击者可构造恶意的请求包进行文件包含操作,进而读取受影响Tomcat服务器上的Web目录文件apache tomcat 6apache tomcat 7 < 7.0.100apache tomcat 8 < 8.5.51apache tomcat 9 < 9.0.31
弱口令爆破+后台webshell文件上传先通过爆破获取Tomcat后台的弱口令,然后登录后台,通过利用Tomcat后台支持war包上传,来上传webshellTomcat <= 6.0.0 默认用户名为admin,密码为空,无暴力破解限制。Tomcat >= 6.0.0 无默认用户,五次失败后,账户即被锁定。但,正常安装的情况下,tomcat 8 中默认没有任何用户,且 Manager 页面只允许本地 IP 访问。只有管理员手工修改了这些属性的情况下,才可以进行攻击。
Apache Tomcat HTTP/2 拒绝服务漏洞(CVE-2020-11996)危害:重要通过恶意构造的HTTP/2请求序列可能会在几秒钟内触发高CPU使用率。如果在并发HTTP/2连接上发出足够数量的此类请求,服务器可能会变得无响应。Apache Tomcat : 10.0.0-M1 to 10.0.0-M5Apache Tomcat : 9.0.0.M1 to 9.0.35Apache Tomcat : 8.5.0 to 8.5.55

Weblogic

WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVA EE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。

特征

访问7001端口(默认):

image-20240701230808977

历史漏洞

CVE-2014-4210 CVE-2016-0638 CVE-2016-3510 CVE-2017-3248 CVE-2017-10271 CVE-2017-3506 CVE-2018-2628 CVE-2018-2893 CVE-2018-2894 CVE-2019-2725 CVE-2019-2729 CVE-2019-2890 CVE-2019-17267 CVE-2020-2551 CVE-2020-2883 CVE-2020-2555 CVE-2020-14882 CVE-2020-14841 CVE-2020-14825 CVE-2020-14859 CVE-2021-2109

主要受影响版本

Weblogic 10.3.6.0 
Weblogic 12.1.3.0 
Weblogic 12.2.1.1 
Weblogic 12.2.1.2 
Weblogic 12.2.1.3 
Weblogic 14.1.1.0

Nginx

Nginx(发音同“engine X”)是异步框架的网页服务器,也可以用作反向代理负载平衡器HTTP缓存。该软件由俄罗斯程序员伊戈尔·赛索耶夫开发,并于2004年首次公开发布。2011年成立同名公司以提供支持服务。2019年3月11日,Nginx公司被F5网络公司以6.7亿美元收购。

Nginx是免费的开源软件,根据类BSD许可证的条款发布。一大部分Web服务器使用Nginx,通常作为负载均衡器

历史漏洞

漏洞名称漏洞影响影响版本
Nginx 越界读取缓存漏洞(CVE-2017-7529)危害:低危Nginx读取http请求时,如果包含range,那么Nginx会根据range指定的数据范围读取文件数据内容,如果该range是负数,并且读到了缓存文件,那么会返回缓存文件中的“文件头”或“HTTP返回包头”,缓存文件头可能包含IP地址的后端服务器或其他敏感信息,从而导致信息泄露。Nginx 0.5.6-1.13.2
Nginx HTTP/2 拒绝服务漏洞(CVE-2018-16843,CVE-2018-16844)危害:低危Nginx某些版本的HTTP/2实现过程中存在安全漏洞,可能会导致过多的内存消耗(CVE-2018-16843)和CPU使用率(CVE-2018-16844)Nginx 1.9.5-1.15.5
Nginx 组件内存泄露漏洞(CVE-2018-16845)危害:低危某些版本ngx_http_mp4_module中发现了一个安全问题,当用户对Nginx添加MP4流媒体支持,恶意的MP4文件会导致处理进程无限循环、崩溃或者内存泄露Nginx 1.1.3+,1.0.7+
Nginx任意代码执行漏洞(CVE-2021-23017)危害:高危由于Nginx在处理DNS响应时存在安全问题,当在配置文件中使用 “resolver ”指令时,远程攻击者可以通过伪造来自DNS服务器的UDP数据包,构造DNS响应造成1-byte内存覆盖,从而导致拒绝服务或任意代码执行。Nginx 0.6.18-1.20.0
CRLF注入漏洞Nginx会将$uri进行解码,如果输入的网址带有%0a%0d,可引入换行符,实现头部注入。配置不当会引起此漏洞,应过滤\r、\n这样的换行符
目录穿越漏洞如果Nginx的配置中,location的url上/files没有加后缀/,而alias的/home/是有后缀/的,这个/就可以导致从/home/目录穿越到他的上层目录配置不当会引起,location 和 alias 的值要不都加/ 要不都加
add_header被覆盖Nginx配置文件子块(server、location、if)中的add_header,将会覆盖父块中的add_header添加的HTTP头,造成一些安全隐患,如导致父块中的XSS设置失效这是Nginx继承的一个坑,配置的时候要留意子块的配置

Apache

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

历史漏洞

Apache HTTPD 换行解析漏洞(CVE-2017-15715)
Apache多后缀解析漏洞(apache_parsing_vulnerability)
Apache HTTP 路径穿越漏洞(CVE-2021-41773)
Apache HTTP 路径穿越漏洞(CVE-2021-42013)
Apache SSI 远程命令执行漏洞
相关CTF题怎么做:
1.信息搜集
2.搜索漏洞
3.复现
Archives QR Code Tip
QR Code for this page
Tipping QR Code