IIS中间件复现

Web IIS中间件漏洞复现

IIS-put漏洞

什么是IIS?

IIS是一种Web(网页)服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。

漏洞原理:

​ WebDAV (Web-based Distributed Authoring and Versioning) 是一种HTTP1.1的扩展协议。它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。可以像在操作本地文件夹一样操作服务器上的文件夹,该扩展也存在缺陷,可以被恶意攻击者利用,直接上传恶意文件。

漏洞复现

1.准备过程:

安装windows server 2003版本,准备iis写入工具,下载IIS6.0版本

2.复现过程:

我们首先在虚拟机中打开win server 2003 版本。

之后我们安装IIS6.0服务,进入网站配置界面

IIS中间件复现_第1张图片

打开webDAV服务配置 Active Server pages(允许解析asp文件),提供文件写入权限。

IIS中间件复现_第2张图片

IIS中间件复现_第3张图片

我们尝试在物理机打开网站

IIS中间件复现_第4张图片

说明服务已开启。

我们打开iis写入工具。尝试写入test.txt文件。

IIS中间件复现_第5张图片

发现提示“您未被授予查看该页”。

后来发现未开启来宾用户足够的权限

IIS中间件复现_第6张图片

我们再次尝试。成功写入。
IIS中间件复现_第7张图片
IIS中间件复现_第8张图片

我们新建一个asp一句话木马文件,先命名为shell.txt,写入网站根目录下。

IIS中间件复现_第9张图片

然后使用iiswrite的mv功能。首先我们需开启网站主目录下的脚本资源访问功能

IIS中间件复现_第10张图片

然后将根目录下的shell.txt修改为shell.asp
IIS中间件复现_第11张图片
之后我们使用菜刀连接即可。

IIS-短文件名猜解漏洞

什么是短文件名?

为了兼容16位MS-DOS程序,Windows为文件名较长的文件(和文件夹)生成对应的window 8.3短文件名。

漏洞原理:

为了兼容16位MS-DOS程序,Windows为文件名较长的文件(和文件夹)生成了对应的windows 8.3 短文件名。
在Windows下查看对应的短文件名,可以使用命令 dir /x

​ 攻击者使用通配符*和?发送一个请求到IIS,
当IIS接收到一个文件路径中包含“~”请求时,返回的HTTP状态码和错误信息不同。基于这个特点,可以根据HTTP的响应区分一个可用或者不可用的文件。访问构造的某个存在的短文件名,会返回404;访问构造的某个不存在的短文件名,会返回400(报错页面)。

漏洞复现

我们进入win server 2003的网站根目录下。
IIS中间件复现_第12张图片

在根目录下新建多个超过8个字符的文件名
IIS中间件复现_第13张图片

我们在命令提示符使用 dir c:/x,即可看到我们创建的文件的短文件名。

IIS中间件复现_第14张图片
我们在物理机上访问该网站并使用通配符猜解文件名。
IIS中间件复现_第15张图片

可以看到网页回显404,说明网站根目录存在所猜解的文件名。

IIS中间件复现_第16张图片
我们访问不存在的文件会报错。

漏洞修复
  1. 升级.net framework
  2. 修改注册表键值:
    IIS中间件复现_第17张图片

将数值数据改为1,1代表不创建短文件名格式。修改完成后,需要重启系统生效。

IIS-解析漏洞

漏洞原理

在网站下建立文件夹的名称中以.asp或.asa等作为后缀的文件夹,其目录内任何扩展名的文件都被IIS当作asp可执行文件去解析并执行.

举例:/xx.asp/xx.jpg为xx.asp目录下存在xx.jpg文件,但将会被IIS解析成asp文件去执行,与原文件的后缀无关.

漏洞复现

我们在www下新建一个test.asp文件夹和test.jpg图像文件

在图像文件中写入任意字符。
在这里插入图片描述
我们直接访问图像文件,发现无法成功解析。
IIS中间件复现_第18张图片
我们再将图片文件放入asp文件夹下重新尝试访问
IIS中间件复现_第19张图片

发现网站将该文件解析成了asp文件进而成功执行。

IIS中间件复现_第20张图片

漏洞修复
  • 取消网站后台新建目录的功能,不允许新建目录。
  • 对新建目录文件名进行过滤,不允许新建包含.的文件夹。

你可能感兴趣的:(web漏洞学习)