常见中间件漏洞总结

一、IIS

①解析漏洞

(1)IIS 6.X

.asp;**p当成asp文件进行解析,分号相当于截断。
.asp/目录下所有文件当做asp文件解析,其他拓展名:asa、cdx、cer

(2)IIS 7.X

在Fast-CGI模式下,任意文件后添加/.php会被解析为php文件

修复:

限制上传目录的执行权限、不允许新建目录、文件进行重命名。

关闭Fast-CGI模式=>cgo.fix_pathinfo=0

②PUT漏洞

开启了WebDev并且具有写权限。

IIS-PUT漏洞

③HTTP.SYS命令执行(MS15-034)

影响范围:win7、win server 2008 R2 、win8 、win server 2012 R2

编辑请求头,增加Range:bytes=0-18446744073709551615字段,若返回码状态为416 Requested Range Not Satisfiable,则存在HTTP.SYS远程代码执行漏洞。

MSF中有相关利用模块。

二、Apache

①解析漏洞

拓展名从右往左进行解析,例如:1.php.asd.xxx asd与xxx都无法解析,最终该文件被解析成php文件。

配置文件:mime.types

.htaccess文件:AddHandler application/x-httpd-php .php

只用文件后缀中含有php,就会解析为php

.htaccess和.user.ini配置文件的应用

三、Nginx

①解析漏洞

任意文件后添加/xxx.php,xxx为任意字符。该文件被解析为php文件

修复:

cgi.fix_pathinfo=0 (默认为1)

禁止上传目录的执行脚本权限

站库分离

设置security.limit_extensions = .php,限制php脚本(高版本php)

②空字节代码执行

影响范围:Nginx 0.5*, 0.6*,0.7 <= 0.7.65,0.8 <= 0.8.37

info.jpg,并抓包,修改为info.jpg…php,在Hex选修卡中将jpg后面的.,更改为00。

或者:/test.jpg%00.php

③文件名逻辑漏洞(CVE-2013-4547)

影响版本:Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7

上传info.jpg, 并抓包,修改为info.jpg…php, 在Hex选修卡中将jpg后面的两个点2e改成20,00

修复建议

  1. 设置security.limit_extensions
    = .php
  2. 或升级Nginx

④CRLF注入

⑤目录遍历/目录解析

目录遍历:Nginx配置文件,autoindex值为On

目录穿越:配置别名时,没有添加/

location /files {
    autoindex on;
    alias c:/WWW/home/;
 }

修复:location和alias的值都有后缀/或都没有/这个后缀

四、Tomcat

①任意文件写入(CVE-2017-12615

原因:Tomcat配置文件/conf/web.xml 配置了可写(readonly=false)

利用PUT漏洞进行上传

②远程代码执行(CVE-2019-0232)

影响范围:9.0.0.M1~ 9.0.17, 8.5.0 ~ 8.5.39 ,7.0.0 ~ 7.0.93

③后台getshell漏洞

大致操作过程:进入后台(弱口令等)=>上传war压缩包(含有脚本文件)=>访问http://地址/压缩包名/压缩包文件

修复建议

  1. 若无必要,取消manager/html功能。
  2. 若要使用,manager页面应只允许本地IP访问

五、JBoss

①反序列化漏洞(JBoss 5.x/6.x)

访问 /invoker/readonly 返回500,说明页面存在,此页面存在反序列化漏洞。

其他存在反序列化漏洞的页面:

/invoker/JMXInvokerServlet

/invoker/EJBInvokerServlet

修复建议

  1. 不需要 http-invoker.sar 组件的用户可直接删除此组件。
  2. 或添加如下代码至 http-invoker.sar 下 web.xml 的 security-constraint 标签中,对 http invoker 组件进行访问控制:

/*

②JBoss <=4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)

访问/jbossmq-httpil/HTTPServerILServlet,返回This is the JBossMQ HTTP-IL,说明页面存在,此页面存在反序列化漏洞。

③后台getshell漏洞

登陆后台上传war包:

  1. 点击Web Application (WAR)s
  2. Add a new resource,上传war包将jsp马打包成war包 :jar -cvf shell.war api_all_jdk.jsp
  3. 点击创建的war包进入下一层,若状态为stop,点击Start按钮(默认都是start状态,不需要点击Start按钮)
  4. 访问:http://xx.xx.xx.xx/[warname]/shellname.jsp

④JMX Console未授权访问

六、Weblogic(默认端口:7001)

①XMLDecoder 反序列化漏洞

原因:WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞。

只要是在wls-wsat包中的Uri皆受到影响,可以查看web.xml得知所有受到影响的Uri:

/wls-wsat/CoordinatorPortType

/wls-wsat/RegistrationPortTypeRPC

/wls-wsat/ParticipantPortType

/wls-wsat/RegistrationRequesterPortType

/wls-wsat/CoordinatorPortType11

/wls-wsat/RegistrationPortTypeRPC11

/wls-wsat/ParticipantPortType11

/wls-wsat/RegistrationRequesterPortType11

修复建议

  1. 安装补丁。
  2. 或删除wls-wsat组件

②任意文件上传漏洞(CVE-2018-2894)

Web Service Test Page中一处任意文件上传漏洞,Web Service Test Page 在"生产模式"下默认不开启。

影响版本:12.1.3.0,12.2.1.2, 12.2.1.3

Weblogic (CVE-2018-2894)任意文件上传漏洞复现

③SSRF漏洞 (CVE-2014-4210)

影响版本:10.0.2.0,10.3.6.0

访问/uddiexplorer/SearchPublicRegistries.jsp,若能正常访问,则可能存在此漏洞。

修复建议

删除SearchPublicRegistries.jsp文件或修改SearchPublicRegistries.jsp文件后缀为不解析后缀,如SearchPublicRegistries.jspxxx

④后台getshell(弱口令)

点击部署,进一步点击右边的安装

点击上载文件:

选择war包,点击下一步

上传完成以后选中你上传的文件,点击下一步

选中作为应用程序安装,点击下一步

然后点击完成

选用我们安装的应用,点击启动即可

访问:http://ip:port/[war包名]/[包名内文件名]

七、WebSphere

①Java反序列化(CVE-2015-7450)

②弱口令&& 后台Getshell

websphere系列漏洞复现

注:此篇文章只是简单总结中间件常见的漏洞,具体操作请读者自行搜索学习。

参考链接:https://www.lxhsec.com/2019/03/04/middleware/

你可能感兴趣的:(渗透测试学习,渗透测试,中间件)