渗透测试之地基服务篇:服务攻防之中间件IIS(下)
字数 1406 2025-08-13 21:33:27
IIS中间件渗透测试技术详解
一、IIS中间件概述
中间件是介于应用系统和系统软件之间的一类软件,它使用系统软件所提供的基础服务(功能),衔接网络上应用系统的各个部分或不同的应用,能够达到资源共享、功能共享的目的。
中间件安全重要性:
- 连接网络和系统,接触关键数据
- 往往连接数据库,储存重要敏感信息
- 被攻破可能导致信息篡改或泄露
- 影响企业经济损失甚至社会安全
二、IIS 7.x安装配置
安装步骤
- 打开控制面板→万维网服务→勾选全部功能
- 等待安装完成(约1-2分钟)
- 打开Internet信息服务(IIS)管理器
- 删除默认网站(Default Web Site)
PHP环境配置
- 安装小皮面板(PHPStudy),选择IIS+PHP版本
- 或手动配置:
- 编辑ISAPI或CGI限制,添加php-cgi.exe路径
- 在处理程序映射中添加PHP支持
三、IIS 7.x渗透测试技术
1. 解析漏洞
漏洞描述:
IIS7.x在Fast-CGI运行模式下,在任意文件(如.jpg/.png)后加上/.php,会将文件解析为PHP执行。
复现步骤:
- 创建包含PHP代码的图片文件(如dayu.png)
- 访问dayu.png/.php
- 若未解析,检查处理程序映射:
- 找到phpStudy_FastCGI
- 编辑模块映射,取消"仅当请求映射至..."选项
修复建议:
配置php.ini中cgi.fix_pathinfo=0并重启php-cgi
2. HTTP.SYS远程代码执行(MS15-034)
漏洞描述:
HTTP协议堆栈(HTTP.sys)未正确分析特殊设计的HTTP请求,导致远程代码执行。
影响版本:
- IIS 7.5、IIS 8.0、IIS 8.5
- Windows 7/8/8.1、Server 2008 R2/2012/2012 R2
检测方法:
发送包含特殊Range头的请求:
Range: bytes=0-18446744073709551615
若返回416状态码,则存在漏洞。
修复建议:
安装微软补丁KB3042553
3. 认证绕过漏洞
(1) IIS 6.0 PHP认证绕过
利用方法:
在受保护目录后附加::$INDEX_ALLOCATION
/admin::$INDEX_ALLOCATION/index.php
(2) IIS 7.5经典ASP认证绕过
利用方法:
在受保护目录后附加:$i30:$INDEX_ALLOCATION
/admin:$i30:$INDEX_ALLOCATION/index.asp
(3) IIS 7.5 .NET源代码泄露
利用方法:
http://victim/admin:$i30:$INDEX_ALLOCATION/admin.php
复现步骤:
- 创建需要认证的admin目录
- 正常访问返回401未授权
- 使用绕过技术访问:
http://192.168.x.x/admin:$i30:$INDEX_ALLOCATION/index.php
组合利用技巧
结合解析漏洞+认证绕过:
/admin:$i30:$INDEX_ALLOCATION/index.aspx/.php
防护措施:
- IIS 7.5配置.NET Framework 2.0可防护经典ASP绕过
- 严格控制认证保护目录权限
四、WebDAV配置与测试
- 安装WebDAV功能并启用
- 使用扫描工具检测:
- IIS PUT工具
- 360网站安全检测(http://webscan.360.cn/)
五、总结与加固建议
渗透测试要点
- 解析漏洞测试
- HTTP.SYS远程执行检测
- 认证绕过技术验证
- WebDAV配置检查
安全加固建议
- 及时安装安全补丁
- 合理配置PHP和Fast-CGI设置
- 禁用不必要的HTTP方法(PUT等)
- 严格设置目录访问权限
- 使用最新版本的IIS和组件
- 定期进行安全审计和漏洞扫描
通过全面了解IIS中间件的安全特性和常见漏洞,安全人员可以更好地评估和保护基于IIS的Web应用系统。