hw面试常见中间件漏洞
apache漏洞
未知扩展名解析漏洞
漏洞原理:Apache对文件名后缀的识别是从后往前进行的,当遇到不认识的后缀时,继续往前,直到识别
影响版本:使用module模式与php结合的所有版本,apache存在未知扩展名解析漏洞;使用fastcig模式与php结合的所有版本,apache不存在此漏洞
module模式,php作为apache的一个模块来运行
php的fpm模式,亦即php作为单独服务来受理apache的请求
利用此漏洞文件名必须携带一个".php"否则会被当做text文档处理
换行解析漏洞CVE-2017-15715
原理:对于正则表达式符\(。\)可以匹配字符串结尾的换行符'\n'或'\r'
影响版本:Apache 2.4.0~2.4.29
上传时在文件后缀加入0x0a(换行)绕过黑名单
nginx漏洞
解析漏洞
把".php"结尾的文件交给fastcgi处理,对于任意文件名,在后面添加任意字符.php就可以将其解析
例:上传sell.jpg 然后访问shell.jpg/xx.php就会把shell.jpg解析成php
IIS解析漏洞
6.x解析漏洞
目录解析漏洞:建立文件夹的名称中以.asp或.asa等作为后缀的文件夹,其目录内任何扩展名的文件都被IIS当作asp可执行文件去解析并执行.
文件解析漏洞:
- 在IIS6.0下,分号后面的内容不被解析,如xx.asp;.jpg将会当作xx.asp去解析执行
- .asa .cdx .cer也会被当作asp进行解析
7.x解析漏洞
在一个文件路径(/xx.jpg)后面加上/xx.php会将/xx.jpg/xx.php 解析为 php 文件
weblogic:端口7001
war后门文件部署
后台地址:ip:7001/console/login/LoginForm.jsp
原理:
管理员配置疏忽导致后台存在弱口令或默认账号密码(weblogic/Orcle@123),对于上传文件校验不严格
利用:
直接将shell压缩成压缩包,然后修改后缀名为war,选择部署选择war包然后一直下一步,点击保存后上传完成,然后就可以访问webshell,访问目录ip:7001/war包名字/shell名字
修复
- 对默认账户密码进行修改
- 采用强密码策略
- 对上传文件进行校验
反序列化漏洞
原理:
Weblogic的WLS Security组件对外提供webservice服务,其中使用了XMLDecoder来解析用户传入的XML数据,在解析的过程中出现反序列化漏洞,导致可执行任意命令
ssrf漏洞:
影响版本10.0.2 – 10.3.6
该漏洞可以发送任意HTTP请求,进而攻击内网中redis等脆弱组件。redis存在未授权访问漏洞(在访问redis数据库时,无需提供用户名及密码,且具备root权限读写文件)。
tomcat:端口8080
后台地址:http://[Tomcat服务器IP地址]:8080/manager/html
put任意文件上传
影响版本:
7.0.0-7.0.81
原理
Tomcat配置文件/conf/web.xml 配置了可写(readonly=false),导致可以使用PUT方法上传任意文件,攻击者就可以构建恶意代码进行上传然后获取webshell(不允许上传jsp后缀文件,可以使用斜杠等方法绕过)
修复
- 升级tomcat版本
- 避免启用readonly功能,将false修改问true
远程代码执行
原理
由于JRE将命令行参数传递给Windows的方式存在错误,会导致CGI Servlet受到远程执行代码的攻击
利用条件
- 系统为Windows
- 启用了CGI Servlet(默认为关闭)
- 启用了enableCmdLineArguments
弱口令&&后台getshell
默认密码tomcat/tomcat
支持在后台部署war文件,可以直接将webshell部署到web目录下,若后台管理页面存在弱口令
jboss:端口8080
反序列化
原理:
存在于 Jboss 的 HttpInvoker 组件中的 ReadOnlyAccessFilter过滤器中。该过滤器在没有进行任何安全检查的情况下尝试将来自客户端的数据流进行反序列化,从而导致了攻击者可以在服务器上执行任意代码。
漏洞验证
访问/invoker/readonly,返回50f'z0,说明此页面存在反序列化漏洞
未授权访问漏洞
浏览JBoss的部署管理页面信息,无需输入管理员账号面,可以直接部署上传木马
防御
- 对JMX控制页面访问添加访问验证
- 进行JMX console安全配置
hw面试常见中间件漏洞的更多相关文章
- 常见web中间件漏洞(五)weblogic漏洞
继续整理有关中间件漏洞思路(仅做简单思路整理,不是复现,复现请参考大佬们的长篇好文,会在文章中列举部分操作) WebLogic是Oracle公司出品的一个application server,确切的说 ...
- 常见web中间件漏洞(四)Tomcat漏洞
这部分好久没写了,继续更新web中间件漏洞思路整理(不复现) ,争取...整理完 前几篇指路链接: nginx: https://www.cnblogs.com/lcxblogs/p/13596239 ...
- 中间件漏洞之Nginx
中间件漏洞之Nginx 我们常见的中间件有IIS.Apache.Nginx,其中Nginx中间件有什么漏洞呢? Nginx 文件名逻辑漏洞(CVE-2013-4547): 漏洞版本: Nginx 0. ...
- 中间件漏洞之IIS
IIS中间件漏洞 我们常见的中间件有IIS.Apache.Nginx,其中IIS中间件有什么漏洞呢? IIS 短文件名漏洞: 漏洞产生的原因是为了兼容MS-DOS程序,windows为文件名较长的文件 ...
- 【转】PHP网站常见安全漏洞,及相应防范措施总结
---恢复内容开始--- 目前,基于PHP的网站开发已经成为目前网站开发的主流,本文笔者重点从PHP网站攻击与安全防范方面进行探究,旨在减少网站漏洞,希望对大家有所帮助! 一.常见PHP网站安全漏洞 ...
- PHP网站常见安全漏洞,及相应防范措施总结
目前,基于PHP的网站开发已经成为目前网站开发的主流,本文笔者重点从PHP网站攻击与安全防范方面进行探究,旨在减少网站漏洞,希望对大家有所帮助! 一.常见PHP网站安全漏洞 对于PHP的漏洞,目前常见 ...
- PHP开发中常见的漏洞及防范
PHP开发中常见的漏洞及防范 对于PHP的漏洞,目前常见的漏洞有五种.分别是Session文件漏洞.SQL注入漏洞.脚本命令执行漏洞.全局变量漏洞和文件漏洞.这里分别对这些漏洞进行简要的介绍和防范. ...
- PHP网站常见安全漏洞 及相应防范措施总结
一.常见PHP网站安全漏洞 对于PHP的漏洞,目前常见的漏洞有五种.分别是Session文件漏洞.SQL注入漏洞.脚本命令执行漏洞.全局变量漏洞和文件漏洞.这里分别对这些漏洞进行简要的介绍. 1.se ...
- JBOSS中间件漏洞总汇复现
JBOSS中间件漏洞总汇复现 JBoss JMXInvokerServlet 反序列化漏洞 漏洞复现 直接使用docker搭建的漏洞环境. 环境搭建完成后,直接使用工具检测即可:工具下载地址https ...
- TomCat中间件漏洞复现总汇
TomCat中间件漏洞复现 前言 在渗透测试过程中,遇到php的站相对多一点,所以对apache了解的也多一点.TomCat中间件的站了解的比较少一点,这是自己第一次搭建环境测试漏洞,所以在自己摸索的 ...
随机推荐
- java网络编程--4 UDP
java网络编程--4 UDP 1.7.UDP 发短信:不用连接,但是需要知道对方的地址 主要包含两个类:DatagramPacket 和 DatagramSocket 发送消息 发送端: packa ...
- Lua基础语法学习笔记
Lua是一门语言,我们可以使用一个库,可以在运行时去编译执行Lua中的代码,从而实现自己的内存中的数据和逻辑: 准备学习环境: 新建一个Lua项目目录,用来写我们的Lua代码: 进入目录,右键使用vs ...
- Java 安全指南
Java 安全指南 后台类 I. 代码实现 1.1 数据持久化 1.1.1[必须]SQL语句默认使用预编译并绑定变量 Web后台系统应默认使用预编译绑定变量的形式创建sql语句,保持查询语句和数据相分 ...
- unable to find Qt5Core.dll on PATH(已解决,超简单)
不久之前我在引用PyQt5库的时候总是出现unable to find Qt5Core.dll on PATH的错误,错误如下: 百度上都是说什么打包的时候出错,然后加上一句话,我试过以后也不行,后来 ...
- ASP.NET Core - 选项系统之选项验证
就像 Web Api 接口可以对入参进行验证,避免用户传入非法的或者不符合我们预期的参数一样,选项也可以对配置源的内容进行验证,避免配置中的值与选项类中的属性不对应或者不满足预期,毕竟大部分配置都 ...
- 二进制安装Kubernetes(k8s) v1.23.7 IPv4/IPv6双栈
二进制安装Kubernetes(k8s) v1.23.7 IPv4/IPv6双栈 Kubernetes 开源不易,帮忙点个star,谢谢了 介绍 kubernetes二进制安装 后续尽可能第一时间更新 ...
- ORA-17629: Cannot connect to the remote database server
rman远程连接目标库,提示报错ORA-17629: Cannot connect to the remote database server,首先排查网络问题是否通路,结果发现目标端防火墙是开着的, ...
- 【JavaSE】网络编程
1. 网络编程概述 网络编程的目的:直接或者间接地通过网络协议与其他计算机实现数据交换,进行通讯. 网络编程两个主要的问题: ①如何精准地定位网络上的一台或多台主机,并定位主机上的特定应用 ②找到主机 ...
- 【Ubuntu】 Perf工具的使用
一.perf工具的安装 sudo apt-get install linux-tools-common sudo apt-get install linux-tools-"$(uname - ...
- EasyExcel配置步骤
1.介绍 EasyExcel是一个基于Java的简单.省内存的读写Excel的开源项目 参考 https://blog.csdn.net/u013044713/article/details/1202 ...