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