【IIS服务器】IIS服务器常见漏洞

IIS是Internet Information Services的缩写,意为互联网信息服务,是由微软公司提供的基于运行Microsoft Windows的互联网基本服务。 IIS目前只适用于Windows系统,不适用于其他操作系统。

文件解析漏洞



1、目录解析漏洞

在 IIS5.x/6.0 中,默认会将 **.asp(*.asa、*.cer、*.cdx )目录下的所有文件当成Asp解析。在这里插入图片描述

在这里插入图片描述

从应用配置中可以看出,他们都是调用了asp.dll进行的解析。

在这里插入图片描述

在这里插入图片描述

2、文件名解析漏洞

在 IIS5.x/6.0 中,默认会将 **.asp;(*.asa;.jpg、*.cer;.jpg) 这种格式的文件名,当成Asp解析,是因为服务器默认不解析; 号及其后面的内容,相当于截断。

在这里插入图片描述

漏洞修复:

由于微软并不认为这是一个漏洞,也没有推出IIS 6.0的补丁,因此漏洞需要自己修复。

  1. 限制上传目录执行权限,不允许执行脚本。
  2. 不允许新建目录。
  3. 上传的文件需经过重命名(时间戳+随机数+.jpg等) 注:如果攻击者可以控制上传目录,那么攻击者依然可以利用该漏洞。

3、畸形解析漏洞
IIS7.x版本 在Fast-CGI运行模式下,在任意文件,例:1.jpg后面加上/.php,会将1.jpg 解析为php文件。
我们可以上传图片马,然后在后面加上.php 或者1.php。可以被解析成PHP文件。
或者我们可以在图片马test.jpg中写入下面的代码:

<?php fputs(fopen('shell.php','w'),'<?php @eval($_POST[pass])?>')?>

上传成功后,直接访问/upload/test.jpg/.php,此时test.jpg将会被服务器当成php文件执行,所以图片里面的代码就会被执行。我们会发现在 /upload 目录下创建了一个一句话木马文件 shell.php 。

在这里插入图片描述

漏洞修复:
配置cgi.fix_pathinfo(php.ini中)为0并重启php-cgi程序

在这里插入图片描述

修复后: 

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

IIS 短文件漏洞
Windows 以 8.3 格式生成与 MS-DOS 兼容的(短)文件名,以允许基于 MS-DOS 或 16 位 Windows的程序访问这些文件。在cmd下输入"dir /x"即可看到短 文件名的效果。

使用工具检测:
https://github.com/lijiejie/IIS_shortname_Scanner
https://github.com/irsdl/IIS-ShortName-Scanner

修复前

在这里插入图片描述

当访问构造的某个存在的短文件名,会返回404在这里插入图片描述 

修复后:

在这里插入图片描述

 修复前

在这里插入图片描述

在这里插入图片描述

修复后: 

在这里插入图片描述

在这里插入图片描述

不同版本的IIS,返回的信息如下:

在这里插入图片描述

修复方法 :

如果文件名本身太短也是无法猜解的;
此漏洞只能确定前6个字符,如果后面的字符太长、包含特殊字符,很难猜解;
如果文件名前6位带空格,8.3格式的短文件名会补进,和真实文件名不匹配;
如果文件夹名前6位字符带点".",扫描程序会认为是文件而不是文件夹,最终出现误报;
不支持中文文件名,包括中文文件和中文文件夹。一个中文相当于两个英文字符,故超过4个中文字会产生短文件名,但是IIS不支持中文猜测。
 

 从CMD命令关闭NTFS 8.3文件格式的支持

Windows Server 2003: (1代表关闭,0代表开启)

关闭该功能:fsutil behavior set disable8dot3 1

在这里插入图片描述

Windows Server 2008 R2:

查询是否开启短文件名功能:
fsutil 8dot3name query 
关闭该功能:
fsutil 8dot3name set 1 不同系统关闭命令稍有区别,该功能默认是开启的. 2)
或从修改注册表关闭NTFS 8.3文件格式的支持 
快捷键Win+R打开命令窗口,输入regedit打开注册表窗口 
找到路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem,
将其中的 NtfsDisable8dot3NameCreation这一项的值设为 1,1代表不创建短文件 名格式 
 

在这里插入图片描述

以上两种方式修改完成后,均需要重启系统生效。
Note:此方法只能禁止NTFS8.3格式文件名创建,已经存在的文件的短文件名无法移除,需要重新复制才会消失。
例:将web文件夹的内容拷贝到另一个位置,如c:\www到c:\ww,然后删除原文件夹,再重命名c:\ww到c:\www。

PUT 任意文件写入

IIS Server 在 Web 服务扩展中开启了 WebDAV之后,支持多种请求,配合写入权限,可造成任意文件写入。

在这里插入图片描述

在这里插入图片描述

开启WebDAV 后

在这里插入图片描述

开启写入权限后,可以成功写入:

在这里插入图片描述

关闭后WebDAV 、写入权限之后:

在这里插入图片描述

在这里插入图片描述

漏洞修复:
关闭WebDAV 和 写权限 


————————————————
版权声明:本文为CSDN博主「Beret-81」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42918771/article/details/105178309

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值