理解中间件
一次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的话,加上权限验证