中间件安全

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

相关推荐
sbjdhjd15 小时前
从签名重放到 Agent Harness:一堂安全课程如何把前端逆向、MCP 与工程约束串起来
网络安全·ai·github·agent·webshell·mcp·harness
qq_4431324118 小时前
运营商网络安全监测项目厂商选择要点与建设思路
安全·web安全
是真的小外套18 小时前
第18章:网络安全测评技术与标准
安全·web安全
无障碍研究院1 天前
2026TADC|圆桌对话:出海无障碍合规
安全·web安全
持敬chijing1 天前
白盒测试与代码审计-js登录逆向实战
javascript·网络·安全·web安全·网络安全·网络攻击模型
南棋网络安全1 天前
ssrf跨站请求伪造(保姆级教程)
运维·服务器·网络·网络安全
科技象限1 天前
数据防泄漏系统:文件是怎么溜出门的,就该怎么堵
运维·网络·网络安全·安企神
听说6661 天前
信息安全工程师 - 第二十二章 网站安全需求分析与安全保护工程
网络·安全·web安全·网络安全·系统安全
P1Browser1 天前
浏览器指纹参数校验:时区、语言、分辨率的一致性原理
web安全·api·前端开发·跨境电商·环境隔离·浏览器指纹
白帽攻防录2 天前
SRC 挖洞:PowerPoint 四个 RCE,预览窗格怎么变成零点击入口
网络安全·powerpoint·文档安全