IIS 文件枚举解析漏洞

0x01 介绍

         1 Microsoft Internet信息服务(IIS)是Microsoft Windows自带的一个网络信息服务器。IIS7/7.5当以CGI的方式运行PHP时,在处理PHP文件路径的解析时存在问题。如果网站允许上传文件,而且上传文件路径可得到,远程攻击者可以利用此漏洞上传包含恶意代码的文件并得到执行,实现以Web进程权限执行任意命令。攻击者上传允许上传的文件类型,文件中包含恶意代码,得到上传文件的URL后,在其后添加任意php后缀的文件名进行访问,会把上传的文件作为CGI脚本执行。   

       2 Microsoft IIS在实现上存在文件枚举漏洞,攻击者可利用此漏洞枚举网络服务器根目录中的文件,windows下通过~表示短文件名,如:test~1, 在IIs中可通过短文件名的方式判断目标文件是否存在,从而降低文件名暴力猜解的难度。

 

0x02 漏洞验证

1 验证方式1

          任意文件后面添加php后缀的文件名进行访问,文件可作为CGI脚本执行,如http://url/roots.txt/atest.php。若文件不存在则报404错误。
http:/url/robots.txt/atest.jsp   返回404
http://url/robots.txt/atest.php   返回文字或空白

2 验证方式2 

利用“~”字符猜解暴露短文件/文件夹名。 检测工具与手段:IIS Shortname Scanner

--------- Final Result ---------
3442 requests have been sent to the server:
Dir: ASPNET~1
Dir: HTTPHA~1
File: CROSSD~1.XML
File: HELP~1.ASP
File: LOGIN3~1.ASP
File: LOGINF~1.ASP
File: LOGIN~1.ASP
File: MAIN~1.ASP
File: WEBCON~1.BAK
File: WEBCON~2.BAK
File: WEB~1.CON


2 Dir(s) was/were found
9 File(s) was/were found

 

0x03 修复思路

1 升级IIS 

2 增强IIS设置。在IIS里找到“处理程序映射”,然后对PHP这一项进行编辑,将映射调整为仅限文件。或则在php.ini中修改为cgi.fix_pathinfo = 0

3 禁止url中使用“~”或它的Unicode编码。关闭windows的8.3格式功能。

 

 

欢迎大家分享更好的思路,热切期待^^_^^ !

### IIS 6.0 文件解析漏洞的影响和危害 #### 漏洞概述 IIS 6.0 文件解析漏洞允许攻击者通过特定方式上传恶意脚本文件并执行,即使这些文件具有非可执行扩展名。这种行为源于服务器错误地解释了某些特殊字符(如 `%00`),从而导致原本应被拒绝的文件得以绕过安全检查机制[^1]。 #### 影响范围 受影响的主要对象是在 Windows Server 2003 上运行 IIS 6.0 的 Web 应用程序和服务。任何依赖于该版本 IIS 进行文件处理的应用都可能暴露在此类攻击之下[^5]。 #### 危害分析 - **远程代码执行**:攻击者可以精心构造带有恶意 PHP 或 ASP 脚本的内容,并将其伪装成合法图像或其他类型的文件上传至目标网站。一旦成功上传并通过 URL 访问,就会触发 IIS 错误解析过程,最终实现任意命令注入或完全控制系统的目的。 - **数据泄露**:由于能够植入自定义脚本,攻击者还可以窃取敏感信息,包括但不限于数据库凭证、用户登录凭据以及其他私密资料。 - **服务中断**:恶意软件可能会破坏现有应用程序的功能,甚至可能导致整个Web站点不可访问,造成业务停滞。 - **声誉损害**:遭受此类攻击的企业不仅面临经济损失的风险,还会影响客户信任度和社会形象。 #### 安全风险评估 此漏洞带来的最大安全隐患在于它使得未经授权的人能够在受害者的网络环境中获得高度权限的操作环境,进而实施更广泛的内部渗透测试活动或是部署持久化的后门程序。对于企业级应用而言,这无疑构成了严重的威胁[^2]。 ```python # 示例:模拟攻击向量 (仅用于教育目的) filename = "image.jpg%00.php" with open(filename, 'w') as f: f.write("<?php system('whoami'); ?>") # 嵌入恶意PHP代码 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值