中间件安全

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

相关推荐
C2H5OH3 小时前
PortSwigger SQL注入LAB2
网络安全
Chockmans9 小时前
春秋云境CVE-2019-9618
安全·web安全·网络安全·系统安全·网络攻击模型·春秋云境·cve-2019-9618
酿情师9 小时前
Shiro 反序列化漏洞原理(小白零基础详解)
java·web安全·网络安全
wanhengidc9 小时前
流量清洗的作用是什么?
运维·服务器·网络·安全·web安全·智能手机
vortex511 小时前
基于开发关键词的子域名Fuzz方法
网络安全
一名优秀的码农11 小时前
vulhub系列-46-dGears of War: EP#1(超详细)
安全·web安全·网络安全·网络攻击模型·安全威胁分析
jerryinwuhan11 小时前
网络安全相关制度
网络·安全·web安全
网络安全许木11 小时前
自学渗透测试第16天(Linux文本处理进阶)
linux·运维·服务器·网络安全·渗透测试
zjeweler11 小时前
“网安+护网”终极300多问题面试笔记-1共3-内网&域相关
笔记·web安全·网络安全·面试·职场和发展·护网面试
介一安全11 小时前
【Web安全】PHP内置Web服务器SSRF漏洞:从原理到实战利用全解析
web安全·网络安全·php·安全性测试