【小迪安全2023】第59天:服务攻防-中间件安全CVE复现lSApacheTomcatNginx

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

目录

0x1 大纲

0x2 知识点

0x3 案例

1、中间件-IIS-短文件&解析&蓝屏等

2、中间件-Nginx-文件解析&命令执行等

3、中间件-Apache-RCE&目录遍历&文件解析等

cve_2021_42013

cve-2017-15715 文件解析

4、中间件-Tomcat-弱口令&文件上传&文件包含等

弱口令

文件上传

文件包含


0x1 大纲

0x2 知识点

中间件及框架列表:

IIS,Apache,Nginx,Tomcat,Docker,Weblogic,JBoos,WebSphere,Jenkins ,GlassFish,Jira,Struts2,Laravel,Solr,Shiro,Thinkphp,Spring,Flask,jQuery等

1、中间件-IIS-短文件&解析&蓝屏等

2、中间件-Nginx-文件解析&命令执行等

3、中间件-Apache-RCE&目录遍历&文件解析等

4、中间件-Tomcat-弱口令&文件上传&文件包含等

#章节内容:
常见中间件的安全测试:
1、配置不当-解析&弱口令
2、安全机制-特定安全漏洞
3、安全机制-弱口令爆破攻击
4、安全应用-框架特定安全漏洞#前置知识:
中间件安全测试流程:
1、判断中间件信息-名称&版本&三方
2、判断中间件问题-配置不当&公开漏洞
3、判断中间件利用-弱口令&EXP&框架漏洞应用服务安全测试流程:见图
1、判断服务开放情况-端口扫描&组合应用等
2、判断服务类型归属-数据库&文件传输&通讯等
3、判断服务利用方式-特定漏洞&未授权&弱口令等

0x3 案例

1、中间件-IIS-短文件&解析&蓝屏等

1、短文件:信息收集
2、文件解析:还有点用
参考前面课程3、HTTP.SYS:蓝屏崩溃(2013年)破坏性漏洞
https://blog.csdn.net/qq_44159028/article/details/1125089504、CVE-2017-7269 条件过老(需要条件过多)
https://blog.csdn.net/Fly_hps/article/details/79568430IIS比较少了,比较老牌的源码,像asp,asp.net这类源码

2、中间件-Nginx-文件解析&命令执行等

该漏洞与nginx、php版本无关,属于用户配置不当造成的解析漏洞

版本信息:

  • Nginx 1.x 最新版
  • PHP 7.x最新版

靶场环境参考:

Vulhub - Docker-Compose file for vulnerability environment

环境搭建:ubantu(IP:10.10.10.130)的docker搭建,

先要进入vulhub指定的靶场漏洞目录下:vulhub/nginx/nginx_parsing_vulnerability。

然后在这个目录下,输入下面的命令启动环境:

docker-compose up -d

成功后,访问改IP地址,如下:

上传一个图片,然后改里面的内容

GIF89a
<?php phpinfo();?>

增加/.php后缀,被解析成PHP文件:

修改代码,然后利用文件解析进行getshell

3、中间件-Apache-RCE&目录遍历&文件解析等

cve_2021_42013

Apache HTTP Server是Apache基金会开源的一款流行的HTTP服务器。Apache官方在2.4.50版本中对2.4.49版本中出现的目录穿越漏洞CVE-2021-41773进行了修复,但这个修复是不完整的,CVE-2021-42013是对补丁的绕过。

攻击者利用这个漏洞,可以读取位于Apache服务器Web目录以外的其他文件,或者读取Web目录中的脚本文件源码,或者在开启了cgi或cgid的服务器上执行任意命令。

这个漏洞可以影响Apache HTTP Server 2.4.49以及2.4.50两个版本。

靶场环境:

Vulfocus 漏洞威胁分析平台

访问靶机的IP地址,如下:

先修改为POST传参,然后该路径:/cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh
​echo;whoamiecho;ls /tmpflag-{bmh39210e08-0fd2-41c4-b579-57ee4e4fbc8a}​

cve-2017-15715 文件解析

CVE-2017-15715 即为换行解析漏洞,此漏洞存在于Apache 2.4.0 - 2.4.29版本中;

在解析PHP时,服务器会将shell.php%0a后缀之后带有空格的文件按照php后缀解析,从而可以绕过服务器的安全策略

我们直接切换到漏洞存在的指定目录下:/vulhub/httpd/CVE-2017-15715,

然后利用docker启动:

docker-compose up -d

漏洞复现参考文章:

https://www.cnblogs.com/cute-puli/p/puli.html

4、中间件-Tomcat-弱口令&文件上传&文件包含等

弱口令

描述:

名称: tomcat-pass-getshell 弱口令

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。

通过弱口令登录后台,部署war包geshell

靶场环境:

Vulfocus 漏洞威胁分析平台

漏洞复现参考文章:

vulhub/tomcat/tomcat8/README.zh-cn.md at master · vulhub/vulhub · GitHub

访问环境IP地址,然后点击manager App,提示我们需要输入账号密码

tomcat:tomcat账号密码登录进去

然后我们这里先利用哥斯拉生成一个jsp的免杀木马,

先把这个.jsp压缩成.zip,然后再改成war包,最后进行上传

添加成功,就可以进行getshell了

文件上传

靶场环境:

Vulfocus 漏洞威胁分析平台

名称: tomcat 文件上传 (CVE-2017-12615)

描述:

Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码的 JSP 的webshell文件,JSP文件中的恶意代码将能被服务器执行,导致服务器上的数据泄露或获取服务器权限。

抓包,然后修改下面的几个地方:

下一步进行getshell

文件包含

漏洞利用工具:

GitHub - sv3nbeast/CVE-2020-1938-Tomact-file_include-file_read: Tomcat的文件包含及文件读取漏洞利用POC

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/829568.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最短路(Dijkstra, Bellman-Ford, SPFA, Floyd)

最短路 Dijkstra算法&#xff08;复杂度 O ( m l o g n ) O(mlog n) O(mlogn)/ O ( n m l o g n ) O(nmlogn) O(nmlogn)&#xff09;–不能有负权边&#xff0c;不能有负权环&#xff0c;单源最短路径( O ( m l o g n ) O(mlog n) O(mlogn))&#xff0c;多源最短路径( O ( n m…

python在Django中使用django-mptt库来实现无限级树结构非常直观和方便

在Django中使用django-mptt库来实现无限级树结构非常直观和方便。django-mptt(Modified Preorder Tree Traversal)是一个用于Django模型的树形结构字段的库,它允许你通过递归的方式轻松地构建和操作树形结构。 下面是一个使用django-mptt和MySQL数据库实现无限级树结构的基…

hive创建hbase外部关联表实例

在cdh6.3.2已经做好hbase和hive相关配置&#xff0c;这里不阐述。 要创建上述的表结构&#xff0c;你需要先在HBase中创建相应的表&#xff0c;然后在Hive中创建一个EXTERNAL TABLE来映射到这个HBase表。以下是详细的步骤&#xff1a; 步骤1&#xff1a;在HBase中创建表 确定…

【javpower:后端技术革新的开源之旅】

&#x1f31f; javpower&#xff1a;探索Java后端的无限可能 在Java技术的宇宙中&#xff0c;我以代码为舟&#xff0c;以创新为帆&#xff0c;不断探索后端开发的深邃与广阔。我是javpower&#xff0c;一名对技术充满热情的实践者&#xff0c;我的旅程是通过开源项目与世界分…

k8s: 从私有仓库harbor获取镜像

一、根据私有仓库的用户名密码等信息创建secret kubectl create secret docker-registry my-registry-secret \ --docker-serverxxx.xxx.xxx.xxx \ --docker-usernameadmin \ --docker-passwordHarbor12345 \ --docker-emailxxxxsina.com二、在清单文件中使用imagePullSecrets…

SQL dialect is not configured. Apache Cassandra matches best.没有配置SQL方言 如何处理

我这里是MySQL语言,所以我设置MySQL dialect 写个记录,之后更换全局SQL语言再换 下图是设置

boot https ssl 使用http协议访问报错

在springboot中配置ssl以后&#xff0c; 再次使用http访问对应的接口就会报错 可以考虑如下设置&#xff0c;将http访问的端口重定向到https对应的端口 import org.apache.catalina.Context; import org.apache.catalina.connector.Connector; import org.apache.tomcat.util…

Qt——实现滚动条添加小组件自动跳转到最后

为了使滚动区域在您添加新的控件后自动滑动到底部&#xff0c;显示新增的窗口&#xff0c;您可以利用 Qt 的 QScrollArea 的滚动条进行调整。在您的 DWidget::toggleNewAdd 函数中&#xff0c;添加窗口到布局后&#xff0c;可以通过调整滚动区的滚动条到最大值来实现这一点。 …

神经网络中多层卷积的作用

在神经网络中采用多层卷积的目的是为了逐步提取和组合图像的抽象特征&#xff0c;从而更有效地学习数据的表示并执行复杂的任务。不同层的卷积具有不同的作用&#xff0c;从较低层次的特征&#xff08;例如边缘、纹理&#xff09;到较高层次的抽象特征&#xff08;例如物体部件…

ZISUOJ 数据结构--串及其应用

说明&#xff1a; 都是字符串的基本操作没啥好说的&#xff0c;直接上题目和代码了。 题目列表&#xff1a; 问题 A: 字符串翻转 参考题解&#xff1a; #include <iostream> #include <string> #include <algorithm> using std::cin; using std::cout; usi…

【TensorFlow深度学习】张量比较与条件操作的应用场景

张量比较与条件操作的应用场景 1. 张量比较操作1.1 常用张量比较函数1.1.1 相等比较1.1.2 不等于比较1.1.3 大于比较 1.2 张量比较的应用场景1.2.1 数据过滤1.2.2 激活函数1.2.3 损失函数1.2.4 条件训练 2. 条件操作2.1 常用条件操作函数2.1.1 tf.cond2.1.2 tf.where 2.2 条件操…

OpenHarmony语言基础类库【@ohos.util.PlainArray (非线性容器PlainArray)】

PlainArray可用于存储具有关联关系的key-value键值对集合&#xff0c;存储元素中key值唯一&#xff0c;key值类型为number类型&#xff0c;每个key对应一个value。 PlainArray依据泛型定义&#xff0c;采用轻量级结构&#xff0c;集合中key值的查找依赖于二分查找算法&#xf…

数字电路-可预置倒计时器Multisim仿真

数字电路之于FPGA意义重大。本可预置倒计时器设计采用40106作为振荡电路&#xff0c;由74LSl92、74LS47D和七段共阴数码管构成计时电路&#xff0c;具有启动/预置、暂停/继续计时和报警功能。紫色文字是超链接&#xff0c;点击自动跳转至相关博文。持续更新&#xff0c;原创不易…

OceanBase 分布式数据库【信创/国产化】- OceanBase 与 MySql 兼容性对比

本心、输入输出、结果 文章目录 OceanBase 分布式数据库【信创/国产化】- OceanBase 与 MySql 兼容性对比前言OceanBase 数据更新架构OceanBase 与 MySql 兼容性对比OceanBase 数据类型SQL 语法过程性语言OceanBase 支持的字符集OceanBase 存储引擎OceanBase 分区支持OceanBase…

用C实现通讯录(详细讲解+源码)

前言 &#x1f4da;作者简介&#xff1a;爱编程的小马&#xff0c;正在学习C/C&#xff0c;Linux及MySQL.. &#x1f4da;以后会将数据结构收录为一个系列&#xff0c;敬请期待 ● 本期内容会给大家带来通讯录的讲解&#xff0c;主要是利用结构体来实现通讯录&#xff0c;该通讯…

[ESP32]:TFLite Micro推理CIFAR10模型

[ESP32]&#xff1a;TFLite Micro推理CIFAR10模型 模型训练 数据集处理 from keras.datasets import cifar10 from keras.preprocessing.image import ImageDataGenerator from keras.models import Sequential, load_model, Model from keras.layers import Input, Dense, …

目标检测(任务概述、机器学习时代的方法、深度学习时代的目标检测模型)

文章目录 目标检测任务概述机器学习时代的目标检测方法深度学习时代的目标检测模型基于提议的目标检测模型R-CNN 模型Fast RCNN 模型Faster RCNN 模型SSD 模型YOLO 模型 基于分割的目标检测模型FCN 模型U-Net 模型 目标检测任务概述 目标检测任务的概念&#xff1a;尝试从一张…

xLua详解

目录 环境准备xLua导入 C#调用LuaLua解析器Lua文件加载重定向Lua解析管理器全局变量的获取全局函数的获取List和Dictionary映射table类映射table接口映射tableLuaTable映射table Lua调用C#准备工作Lua使用C#类Lua调用C#枚举Lua使用C# 数组 List 字典数组List字典 Lua使用C#扩展…

解决NetworkManager覆盖/etc/resolv.conf的问题

发布时间&#xff1a;2024.4.27 问题 /etc/resolv.conf是Linux下DNS的配置文件。 但是NetworkManager会用覆盖它&#xff0c;导致我们每次都要重新配置。 解决办法 这是官方推荐的做法。或者你可以用resolveconf工具。 $ nm-connection-editor会调起一个界面&#xff0c;…

RabbitMQ通配符模式

RabbitMQ通配符模式 简介代码演示生产者消费者 简介 RabbitMQ是一个开源的消息中间件&#xff0c;在分布式系统中被广泛应用于消息的传递和处理。它支持多种工作模式&#xff0c;其中之一是通配符&#xff08;TOPIC&#xff09;模式。本文将对RabbitMQ的通配符模式进行详细的讲…