中间件安全

1.中间件

中间件(Middleware)是指一种软件组件,其作用是在不同的系统、应用程序或服务之间传递数据和消息。它通常位于应用程序和操作系统之间,负责在不同的应用程序之间传递数据、协调不同应用程序之间的通信,以及处理网络请求等。

中间件通常是一种插件式架构,允许开发人员将其集成到现有的应用程序中。它可以提供诸如身份验证、授权、缓存、负载均衡、日志记录、安全性等功能,以简化应用程序的开发和部署过程。从广义上讲,中间件涵盖了从 Web 服务器,到身份验证系统,再到消息传递工具等一切内容。从另个一角度来讲,中间件是: jboss、weblogic、tomcat、apache等。中间件的使用可以提高应用程序的可扩展性、可靠性、可维护性和安全性。

2.中间件漏洞

中间件漏洞是指在中间件软件中存在的安全漏洞,这些漏洞可能被攻击者利用来对系统进行攻击和渗透。中间件漏洞通常包括以下几种:

(1)代码注入漏洞:攻击者可以通过向中间件发送恶意代码,从而执行任意代码或获取敏感数据

(2)跨站脚本漏洞:攻击者可以通过在中间件输出的网页中插入恶意脚本,来窃取用户信息或进行其他恶意行为。

(3)SQL注入漏洞: 攻击者可以通过在中间件输入的SQL查询中插入恶意代码,从而执行任意SQL查询或获取敏感数据。

(4)认证和授权漏洞:攻击者可以利用中间件的认证和授权机制的漏洞,来绕过访问控制,获取系统权限。

(5)文件包含漏洞:攻击者可以利用中间件的文件包含功能,来包含恶意文件并执行任意代码。为了保护中间件的安全,开发人员需要采取一系列安全措施,如开发安全代码、定期更新中间件、限制访问权限、配置防火墙等。此外,使用漏洞扫描工具可以帮助开发人员及时发现和修复中间件漏洞。

3.TOMCAT

(1)简介

Tomcat是一个开源的Java Servlet容器,它可以作为独立的Web服务器或应用服务器,也可以作为其他Web服务器的插件来使用,如Apache HTTP Server。Tomcat支持JavaServlet、JavaServer Pages (JSP) 、Java Expression Language (EL) 和WebSocket等Java技术,并提供了许多企业级特性,如集群、安全性和可扩展性。

Tomcat Manager使用基本认证方式进行认证,即需要提供用户名和密码才能访问Manager界面,而基本认证方式需要将用户名和密码进行Base64编码后发送给服务器。基本认证(Basic Authentication)是HTTP协议中一种最基础的认证方式之一,也是最早的一种Web身份认证方式。基本认证是通过在HTTP请求头中添加Authorization字段来完成身份认证的,具体过程如下:

A.客户端向服务器发送HTTP请求,请求头中包含Authorization字段,格式为"Basicbase64(username:password)",其中,base64(username:password)表示将用户名和密码进行Base64编码后的字符串

B.服务器收到请求后,解析Authorization字段,将base64(username:password)进行解码,得到用户名和密码。

C.服务器使用得到的用户名和密码进行身份验证,如果验证通过,返回相应的HTTP响应,否则返回401Unauthorized响应

(2)TOMCAT密码爆破

打开靶场后,点击manager app处,会自动弹出登录框,要求输入用户名和密码,我们在日常中遇到tomcat时,可以尝试以下组合

用户名:admin、tomcat、manager

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

Tomcat6.0及以后版本中,如果用户连续登录失败次数达到了5次,默认情况下会锁定该用户的登录账户30分钟。在锁定期间,即使用户输入正确的用户名和密码,也无法登录管理页

找到其请求包,该请求包为一个get型请求包,其认证信息在请求头Authorization里,在上文中我们知道其编码方式,为"用户名:密码"进行base64编码,那使用Burp Suite如何对其进行爆破呢?关键点在于Payloadtype,其中有一个叫做"自定义选代器",自定义迭代器允许用户通过自己的方式来生成参数的值,以便进行爆破测试。

Tomcat认证内容由3个部分组成,如下:

自定义迭代器里的1、2、3对应的是字典的第1、2、3部分

第一部分设置用户名,第二部分设置:,第三部分设置密码

由于使用base64编码,所以在payload processing模块选择base64并且payload encoding模块取消勾选后进行攻击,得到结果如下

对其解码后得到用户名和密码是tomcat:tomcat

(3)部署war包

WAR (Web Application Archive) 是一种Web应用程序的打包格式,用于将Web应用程序打包成一个单独的文件,便于部署和分发。WAR文件实际上是一种JAR (Java Archive) 文件,其中包含了Web应用程序的全部内容,包括Java类、HTML、JSP、Servlet、XML配置文件、静态资源(如图片、CSSJavaScript文件等)等。WAR文件还可以包含一些特定于Web应用程序的配置文件,例如web.xml.context.xml等

WAR文件通常是通过Web服务器部署的,例如Tomcat、Jetty等。在部署Web应用程序时,Web服务器会将WAR文件解压缩并将其部署到指定的目录中,然后启动Web应用程序。通过将Web应用程序打包成WAR文件,可以方便地将应用程序部署到不同的Web服务器中,也可以方便地将应用程序分发给其他人使用。

将shell.jsp文件压缩成shell.zip文件,再将shell.zip文件后缀改为war

相关推荐
Johny_Zhao7 小时前
Linux防止rm误操作防护方案
linux·网络·人工智能·网络安全·信息安全·云计算·yum源·系统运维
卓码软件测评14 小时前
软件测试:如何利用Burp Suite进行高效WEB安全测试
网络·安全·web安全·可用性测试·安全性测试
黑客影儿1 天前
Go特有的安全漏洞及渗透测试利用方法(通俗易懂)
开发语言·后端·安全·web安全·网络安全·golang·系统安全
纪莫2 天前
Kafka如何保证「消息不丢失」,「顺序传输」,「不重复消费」,以及为什么会发生重平衡(reblanace)
java·分布式·后端·中间件·kafka·队列
要开心吖ZSH2 天前
java八股文-中间件-参考回答
微服务·中间件·消息中间件
MicroTech20252 天前
微算法科技(NASDAQ: MLGO)引入高级区块链DSR算法:重塑区块链网络安全新范式
网络安全·区块链
m0_738120722 天前
CTFshow系列——命令执行web38-40
前端·windows·安全·web安全
网络安全大学堂2 天前
【黑客技术零基础入门】PHP环境搭建、安装Apache、安装与配置MySQL(非常详细)零基础入门到精通,收藏这一篇就够
安全·web安全·计算机·网络安全·黑客·信息安全·程序员
卓码软件测评2 天前
【网站测试:CORS配置错误引发的安全风险及测试】
功能测试·安全·web安全·压力测试·可用性测试·安全性测试
db_murphy2 天前
知识篇 | 中间件会话保持和会话共享有啥区别?
中间件