前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Web中间件漏洞之IIS篇

Web中间件漏洞之IIS篇

原创
作者头像
第59号实验室
发布2023-05-12 10:38:48
1.2K0
发布2023-05-12 10:38:48
举报
文章被收录于专栏:企业安全企业安全

1.IIS简介

IIS 是 Internet Information Services 的缩写,意为互联网信息服务,是由微软公司提供的基于运行 Microsoft Windows 的互联网基本服务。最初是 Windows NT 版本的可选包,随后内置在 Windows 2000 、Windows XP Professional 和 Windows Server 2003 一起发行,但在 Windows XP Home 版本上并没有 IIS 。

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

IIS 的安全脆弱性曾长时间被业内诟病,一旦 IIS 出现远程执行漏洞威胁将会非常严重。远程执行代码漏洞存在于 HTTP 协议堆栈 (HTTP.sys) 中,当 HTTP.sys 未正确分析经特殊设计的 HTTP 请求时会导致此漏洞。 成功利用此漏洞的攻击者可以在系统帐户的上下文中执行任意代码,可以导致 IIS 服务器所在机器蓝屏或读取其内存中的机密数据。

2.PUT漏洞

01漏洞介绍及成因

IIS Server 在 Web 服务扩展中开启了 WebDAV ,配置了可以写入的权限,造成任意文件上传。

版本:IIS 6.0

02漏洞复现

1.开启 WebDAV 和写权限

2.利用 burp 测试

抓包,将 GET 请求改为 OPTIONS

3.利用工具进行测试

成功上传,再上传一句话木马,然后用菜刀连接,getshell

03漏洞修复

关闭 WebDAV 和写权限

3.短文件名猜解

01漏洞介绍及成因

IIS 的短文件名机制,可以暴力猜解短文件名,访问构造的某个存在的短文件名,会返回404,访问构造的某个不存在的短文件名,返回400。

02漏洞复现

1.在网站根目录下添加aaaaaaaaaa.html文件

2.进行猜解

3.漏洞修复

修复方法:

1) 升级 .net framework

2) 修改注册表禁用短文件名功能

快捷键 Win+R 打开命令窗口,输入 regedit 打开注册表窗口,找到路径:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem,将其中的 NtfsDisable8dot3NameCreation这一项的值设为 1,“1”代表不创建短文件名格式,修改完成后,需要重启系统生效

3)CMD 关闭 NTFS 8.3 文件格式的支持

4)将 web 文件夹的内容拷贝到另一个位置,如 c:\www 到 d:\w ,然后删除原文件夹,再重命名 d:\w 到 c:\www。

修复后:

4.局限性

1) 此漏洞只能确定前6个字符,如果后面的字符太长、包含特殊字符,很难猜解

2) 如果文件名本身太短(无短文件名)也是无法猜解的

3) 如果文件名前6位带空格,8.3格式的短文件名会补进,和真实文件名不匹配

4.远程代码执行

01漏洞介绍及成因

在 IIS6.0 处理 PROPFIND 指令的时候,由于对 url 的长度没有进行有效的长度控制和检查,导致执行 memcpy 对虚拟路径进行构造的时候,引发栈溢出,从而导致远程代码执行。

02漏洞复现

1.漏洞环境搭建

在 windows server 2003 r2 32位上安装 iis6.0

2.触发漏洞

在本地执行 exp ,exp 如下

执行成功后,服务器端弹出计算器:

3.漏洞修复

1)关闭 WebDAV 服务

2)使用相关防护设备

5.解析漏洞

01漏洞介绍及成因

IIS 6.0 在处理含有特殊符号的文件路径时会出现逻辑错误,从而造成文件解析漏洞。这一漏洞有两种完全不同的利用方式:

/test.asp/test.jpg

test.asp;.jpg

02漏洞复现

利用方式1

第一种是新建一个名为 "test.asp" 的目录,该目录中的任何文件都被 IIS 当作 asp 程序执行(特殊符号是“/”)。

利用方式2

第二种是上传名为 "test.asp;.jpg" 的文件,虽然该文件真正的后缀名是 ".jpg",但由于含有特殊符号";",仍会被 IIS 当做 asp 程序执行。

IIS7.5 文件解析漏洞

test.jpg/.php

URL 中文件后缀是 .php ,便无论该文件是否存在,都直接交给 php 处理,而 php 又默认开启 "cgi.fix_pathinfo" ,会对文件进行“修理”,可谓“修理”?举个例子,当 php 遇到路径 "/http://aaa.xxx/bbb.yyy" 时,若 "/http://aaa.xxx/bbb.yyy" 不存在,则会去掉最后的 “bbb.yyy" ,然后判断 "/http://aaa.xxx" 是否存在,若存在,则把 “/http://aaa.xxx" 当作文件。

若有文件 test.jpg ,访问时在其后加 /.php ,便可以把 "test.jpg/.php" 交给 php ,php 修理文件路径 "test.jpg/.php" 得到 ”test.jpg" ,该文件存在,便把该文件作为 php 程序执行了。

03漏洞修复

1.对新建目录文件名进行过滤,不允许新建包含‘.’的文件;

2.曲线网站后台新建目录的功能,不允许新建目录;

3.限制上传的脚本执行权限,不允许执行脚本;

4.过滤 .asp/xm.jpg,通过 ISApi 组件过滤。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.IIS简介
  • 2.PUT漏洞
    • 01漏洞介绍及成因
      • 02漏洞复现
        • 1.开启 WebDAV 和写权限
        • 2.利用 burp 测试
        • 3.利用工具进行测试
      • 03漏洞修复
      • 3.短文件名猜解
        • 01漏洞介绍及成因
          • 02漏洞复现
            • 1.在网站根目录下添加aaaaaaaaaa.html文件
            • 2.进行猜解
            • 3.漏洞修复
            • 4.局限性
        • 4.远程代码执行
          • 01漏洞介绍及成因
            • 02漏洞复现
              • 1.漏洞环境搭建
              • 2.触发漏洞
              • 3.漏洞修复
          • 5.解析漏洞
            • 01漏洞介绍及成因
              • 02漏洞复现
                • 利用方式1
                • 利用方式2
                • IIS7.5 文件解析漏洞
              • 03漏洞修复
              相关产品与服务
              脆弱性检测服务
              脆弱性检测服务(Vulnerability detection Service,VDS)在理解客户实际需求的情况下,制定符合企业规模的漏洞扫描方案。通过漏洞扫描器对客户指定的计算机系统、网络组件、应用程序进行全面的漏洞检测服务,由腾讯云安全专家对扫描结果进行解读,为您提供专业的漏洞修复建议和指导服务,有效地降低企业资产安全风险。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档