一、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
修复建议
- 设置security.limit_extensions
= .php- 或升级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://地址/压缩包名/压缩包文件
修复建议
五、JBoss
①反序列化漏洞(JBoss 5.x/6.x)
访问 /invoker/readonly 返回500,说明页面存在,此页面存在反序列化漏洞。
其他存在反序列化漏洞的页面:
/invoker/JMXInvokerServlet
/invoker/EJBInvokerServlet
修复建议
- 不需要 http-invoker.sar 组件的用户可直接删除此组件。
- 或添加如下代码至 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包:
- 点击Web Application (WAR)s
- Add a new resource,上传war包将jsp马打包成war包 :jar -cvf shell.war api_all_jdk.jsp
- 点击创建的war包进入下一层,若状态为stop,点击Start按钮(默认都是start状态,不需要点击Start按钮)
- 访问: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
修复建议
②任意文件上传漏洞(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/