平台安全之中间件安全

理解中间件
一次web访问的顺序,web浏览器->web服务器(狭义)->web容器->应用服务器->数据库服务器

web服务器
广义:提供广义web服务的软件或主机

狭义:提供w3服务的软件或主机,即Web服务器软件或装有Web服务器软件的计算机。例如:IIS、Apache、nginx、Lighttpd。Web服务器可以处理 HTTP 协议,响应针对静态页面或图片的请求,进行页面跳转,或者把动态请求委托其它程序(它的扩展、某种语言的解释引擎、Web容器)。

web容器
容器:作为操作系统和应用程序之间的桥梁,给处于其中的应用程序组件提供一个环境,使应用程序直接跟容器中的环境变量交互,不必关注其它系统问题。例如:tomcat(拥有JSP容器,servlet容器),Jboss(拥有EJB容器)。

web容器:处理http的容器,例如tomcat(拥有JSP容器,servlet容器),IIS(拥有ASP容器)。

应用服务器
中间件:为一种或多种应用程序提供容器,同时为应用程序提供相关服务。

应用服务器:用于被其他应用服务器或web服务器调用的中间件。例如Tomcat,WebLogic,WebSphere,Jboss

IIS,Tomcat,WebLogic,WebSphere即是应用服务器,又拥有web服务器的功能。

Tomcat漏洞与服务
Tomcat简介
tomcat是apache的一个中间件软件,其可以提供jsp或者php的解析服务,为了方便远程管理与部署,安装完tomcat以后默认会有一个管理页面,管理员只需要远程上传一个WAR格式的文件,便可以将内容发布到网站,这一功能方便了管理员的同时也给黑客打开了方便之门,除此之外,tomcat还有一些样本页面,如果处理不当也会导致安全问题。

弱点测试
默认后台密码
后台地址:http://www.test.com:8080/manager

默认密码:

管理后台爆破
一般tomcat后台登录口不做任何安全处理,可以无限次尝试登入。

后台上传shell
1 将我们的jsp马打包成war文件 命令:jar -cvf shell.war shell.jsp

2 将之前打包的war包上传部署

安全防护
1 修改/conf/tomcat-users.xml中的帐号密码(越复杂越好)

2 升级tomcat版本

3 删除远程部署页面

Jboss漏洞与防护
Jboss简介
JBoss这是一个基于JavaEE的应用服务器,与tomcat类似的是jboss也有远程部署平台,但不需要登陆。漏洞利用过程与tomcat类似,因此不再截图说明。除了远程部署漏洞外,jboss还存在反序列化漏洞,这里不再详述。

弱点测试
管理后台弱口令
后台页面:http://www.test.com:8080/jmx-console/

后台上传部署war包获取webshell

命令执行
1 /invoker/EJBInvokerServlet

2 /invoker/JMXInvokerServlet

3 /admin-console/login.seam

4 /web-console/Invoker

5 Application Deserialization

6 Servlet Deserialization

7 Apache Struts2 CVE-2017-5638

测试工具:https://github.com/joaomatosf/jexboss

安全防护
1 关闭jmx-console

2 关闭web-console

3 删除/invoker/EJBInvokerServlet

4 删除/invoker/JMXInvokerServlet

5 升级jboss

WebLogic漏洞与防护
WebLogic简介
weblogic是一个基于JavaEE构架的中间件,安装完weblogic默认会监听7001端口。

弱点测试
后台弱口令
默认后台: http://www.test.com:7001/console/login/loginForm.jsp

默认密码:

后台上传部署war包获取webshell

测试工具:https://github.com/dc3l1ne/Weblogic-Weakpassword-Scnner

命令执行
1 反序列化命令执行

测试工具:https://github.com/hanc00l/weblogic_unserialize_exploit

安全防护
1 加强密码管理,使用复杂的密码

2 删除远程部署文件

3 后台限制登录IP

axis2命令执行漏洞
axis2简介
axis2也是apache的一个项目,是新一代的SOAP引擎

弱点测试
默认后台弱口令
默认后台:http://www.test.com/axis2-admin/

默认口令:admin与axis2

登录后台上传shell
1 打包一个aar文件

2 上传部署

3 参考文章:http://javaweb.org/?p=1548

安全防护
1 后台登录限制IP

2 加大密码复杂度

IIS漏洞与防护
IIS简介
IIS是微软的一款web服务器,其配置不当容易产生webdav漏洞。webdav本身是iis的一项扩展功能,开启后可以使用除了get、post以外的一些请求类型,比如put等。但如果配置不当,就会导致文件上传漏洞。

弱点测试
IIS写权限漏洞
漏洞说明:此漏洞主要是因为服务器开启了 webdav的组件导致的可以扫描到当前的操作,具体操作其实是通过webdav的OPTION来查询是否支持PUT。

检测方式:

1 构造OPTION包向服务器提交

返回结果如下:

当ALLOW中包含如上方法时,可以确定服务器开启了WebDAV。

此时可以用PUT上传文件,但是不可以直接上传可执行脚本文件,可以先上传一个其他类型的文件,然后MOVE成脚本文件。

图片

启用了“WebDAV”扩展,并且复选了“写入”,就可以写入txt文件了。要想使用MOVE命令将其更名为脚本文件后缀,必须还复选上“脚本资源访问”。

但是发现利用IIS的解析漏洞,可以MOVE成test.asp;.jpg,然后就可以当做shell来执行了

命令执行
漏洞条件:iis 6.0 + webdav

利用POC:https://github.com/edwardz246003/IIS_exploit

安全防护
1 禁用WebDAV

2 如果要使用WebDAV的话,加上权限验证

你可能感兴趣的:(安全,中间件)