freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Web中间件漏洞之IIS篇
2023-05-12 10:10:55
所属地 浙江省

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 遇到路径 "/aaa.xxx/bbb.yyy" 时,若 "/aaa.xxx/bbb.yyy" 不存在,则会去掉最后的 “bbb.yyy" ,然后判断 "/aaa.xxx" 是否存在,若存在,则把 “/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 组件过滤。

# web安全 # iis # 漏洞修复 # 漏洞复现
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录