IIS禁止执行脚本的命令有哪些,怎么设置?

在IIS安全配置中,禁止执行脚本命令的核心是通过请求过滤、处理程序映射和URL授权规则,限制对cmd.exe、powershell.exe、wscript.exe、cscript.exe等危险命令文件的访问,从源头阻断攻击者利用Web漏洞执行系统命令的路径。

IIS禁止执行脚本命令的三种核心方法

配置IIS禁止执行脚本命令不是单一开关,而是通过多层机制协同工作,下面三种方法覆盖了绝大多数场景,根据你的网站类型和风险等级选择组合即可。

用IIS管理器配置web服务器
加载中
用IIS管理器配置web服务器

请求过滤禁止特定扩展名

请求过滤是IIS中最直接的拦截手段,它会在HTTP请求进入处理管道前检查文件扩展名,匹配到拒绝列表的请求直接返回404错误。

  • 操作步骤:打开IIS管理器,选择目标站点,双击中间区域的“请求过滤”图标,点击右侧“拒绝扩展名”添加需要禁止的扩展名。
  • 建议添加的扩展名:.exe、.com、.bat、.cmd、.ps1、.vbs、.js、.msi、.scr、.pif等。
  • 注意事项:请求过滤仅对URL中的扩展名生效,如果攻击者通过无扩展名的方式调用命令(如利用Windows短文件名或路径解析漏洞),则无法拦截,因此需要配合其他方法。

处理程序映射移除脚本执行入口

处理程序映射决定了IIS如何响应不同类型的请求,移除无关的脚本处理程序,可以防止攻击者通过上传脚本文件获取执行权限。

  • 操作步骤:在站点管理界面双击“处理程序映射”,找到并移除以下不用的处理程序:ASP、ASP.NET、PHP、CGI-exe、Server-side Includes等,如果站点不需要执行任何脚本,保留StaticFile即可。
  • 关键点:移除CGI-exe处理程序能直接阻止IIS调用任何.exe文件,但需确认站点是否依赖CGI功能,对于纯静态站点,这是最安全的做法。

通过web.config配置URL授权和文件拦截

对于无法通过界面修改的托管环境,或需要更精细化控制时,web.config文件是最佳选择,利用<system.webServer>下的<security>和<location>节点,可以禁止特定路径或文件名的访问。

  • 配置示例:在站点根目录web.config的<system.webServer>节点内添加:
<security>
  <requestFiltering>
    <denyUrlSequences>
      <add sequence="cmd.exe" />
      <add sequence="powershell.exe" />
      <add sequence="wscript.exe" />
    </denyUrlSequences>
    <fileExtensions>
      <add fileExtension=".exe" allowed="false" />
      <add fileExtension=".ps1" allowed="false" />
    </fileExtensions>
  </requestFiltering>
</security>

IIS禁止执行脚本的命令有哪些,怎么设置?

  • 优势:可以精确拦截URL中的特定字符串,即使命令文件没有扩展名也能阻止,同时支持对目录级别的权限控制,比如禁止访问/bin/或/uploads/下的可执行文件。

哪些命令禁止执行?常见危险命令列表

IIS禁止执行脚本命令的核心是识别出能直接调用系统操作的可执行文件。 根据攻击者常用的命令包,整理出以下清单,按风险等级划分,方便你按需配置。

高危命令:必须禁止执行

命令 说明 风险场景
cmd.exe Windows命令提示符,攻击者最常利用的入口 执行任意系统命令、下载恶意负载
powershell.exe 强大的脚本执行环境,支持直接内存调用 无文件攻击、执行恶意脚本、提权
wscript.exe / cscript.exe Windows脚本宿主,可执行.vbs、.js 运行恶意脚本、下载执行病毒
mshta.exe 运行HTA文件,常被用于绕过杀毒软件 执行恶意HTML应用、下载木马
regsvr32.exe 注册COM组件,攻击者利用它绕过白名单 通过SCT文件远程加载恶意代码
rundll32.exe 运行DLL文件,误报率低,常被滥用 执行DLL文件中的恶意函数

中危命令:建议根据场景禁止

命令 说明 风险场景
certutil.exe 证书工具,可下载文件,被用于下载恶意软件 绕过下载限制,获取远程payload
bitsadmin.exe 后台智能传输服务,可下载/上传文件 大文件下载,常被用作持久化通道
ftp.exe 文件传输协议客户端 泄露数据或下载恶意文件
net.exe / net1.exe 网络命令管理工具 创建用户、修改网络配置、侦察内网
taskkill.exe / tasklist.exe 进程管理 结束安全软件进程、列出进程信息

低危命令:视业务需求决定

IIS禁止执行脚本的命令有哪些,怎么设置?

命令 说明 风险场景
ping.exe 网络连通性测试 探测主机存活、作为ICMP隧道
tracert.exe 路由跟踪 信息收集,了解网络拓扑
nslookup.exe DNS查询 解析域名,辅助数据外传
whoami.exe 查看当前用户身份 确认权限,为后续提权做准备

行业共识认为,禁止命令执行时优先从高危命令开始,再根据日志中出现的异常请求逐步扩展到中危命令,避免过度限制影响正常运维。

实战场景:IIS禁止执行脚本命令的配置示例

理论说再多,不如一个真实的配置过程,以下三个场景是站长最常见的安全需求,覆盖了从上传防护到权限控制的完整链路。

防止WebShell通过上传目录执行命令

很多攻击者通过文件上传漏洞将WebShell存到/uploads/目录,然后通过URL直接访问exe或ps1文件来执行命令,配置方法:

  • 在IIS管理器中,选择/uploads/目录,双击“请求过滤”,添加拒绝扩展名.exe、.ps1、.vbs、.bat。
  • 移除该目录的所有脚本处理程序映射,只保留StaticFile。
  • 在web.config中增加<location path="uploads">节点,禁止访问特定命令文件名:
<location path="uploads">
  <system.webServer>
    <security>
      <requestFiltering>
        <denyUrlSequences>
          <add sequence="cmd" />
          <add sequence="powershell" />
          <add sequence="wscript" />
        </denyUrlSequences>
      </requestFiltering>
    </security>
  </system.webServer>
</location>
  • 验证:尝试访问http://你的站点/uploads/shell.exe,应返回404.7状态码。

限制应用程序池的执行权限

即使IIS层面拦截了请求,如果攻击者通过其他漏洞(如本地文件包含)在服务器上直接运行命令,仍需系统级防护。

  • 将应用程序池标识设置为ApplicationPoolIdentity或自定义低权限账户(如IIS_IUSRS)。
  • 使用Windows文件系统权限,禁止该账户对高危命令的执行权限,在C:WindowsSystem32cmd.exe上右键 -> 安全 -> 添加拒绝“读取和执行”权限给应用程序池账户。
  • 注意:不要直接拒绝所有账户,否则操作系统自身可能异常,建议只拒绝IIS相关账户。
  • IIS禁止执行脚本的命令有哪些,怎么设置?

结合URL重写规则禁止命令执行参数

对于命令注入类型的攻击,攻击者常在URL参数中传递命令,如?cmd=whoami,此时请求过滤很难覆盖,而URL重写可以匹配参数内容。

  • 安装URL重写模块,添加入站规则,模式为(cmd.exe|powershell|wscript|regsvr32),条件检查{QUERY_STRING},匹配后返回403或重定向。
  • 规则示例:
<rewrite>
  <rules>
    <rule name="Block cmd execution" stopProcessing="true">
      <match url="." />
      <conditions>
        <add input="{QUERY_STRING}" pattern="(cmd.exe|powershell.exe|wscript.exe)" ignoreCase="true" />
      </conditions>
      <action type="CustomResponse" statusCode="403" statusReason="Forbidden" />
    </rule>
  </rules>
</rewrite>
  • 优点:能拦截隐藏得较深的注入攻击,但不影响正常URL访问。

IIS禁止执行脚本命令的常见问题解答

Q1:IIS禁止执行脚本命令后,会影响网站正常功能吗?

取决于配置范围,如果只禁止了危险命令的文件扩展名,对正常网站功能影响有限,但若直接移除了ASP或PHP脚本处理程序,相应动态页面会全部失效,建议分步操作:先启用请求过滤禁止扩展名,观察日志和功能测试,再逐步收紧,很多情况下,大部分网站根本不需要在高危命令上做额外妥协,因为正常用户不会请求cmd.exe或powershell.exe。

Q2:除了禁止命令,还有哪些辅助安全措施?

单独禁止命令执行无法覆盖所有攻击路径,行业共识认为,IIS安全应结合以下措施:启用请求过滤并限制HTTP动词(如只允许GET和POST)、自定义错误页面隐藏真实错误信息、开启详细日志记录并定期审计、为应用程序池使用独立标识并限制磁盘写入权限、部署WAF(Web应用防火墙)检查恶意请求负载,据微软官方文档,合理的分层防御能将攻击成功率降低相当一部分。

Q3:如何在IIS 10中配置禁止执行PowerShell命令?

IIS 10运行在Windows Server 2016或2019上,打开IIS管理器,分别在站点级别和受影响的子目录(如/uploads)中配置请求过滤,添加拒绝扩展名.ps1、.psm1、.psd1、.ps1xml,在处理程序映射中移除所有PowerShell相关条目(默认可能不存在,但需确认),更彻底的做法是使用Windows AppLocker或软件限制策略,在系统层面禁止PowerShell.exe对非管理员用户执行。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/577203.html

赞 (0)
app的云服务器一台多少钱,哪家最便宜?
上一篇 2026年8月17日 05:49
iOS地图定位怎么设置和使用才准确?,定位不准怎么办?
下一篇 2026年8月17日 05:50

相关推荐

  • 服务器部署站点如何操作?,有哪些注意事项?

    服务器部署站点的核心是匹配业务需求与资源,优先考虑稳定性与安全性,再权衡成本与扩展性,服务器部署站点怎么选配置选择配置时,多数情况下面临CPU、内存、带宽、存储四个维度的取舍,你可以根据站点类型对号入座,CPU 与内存:决定并发能力静态展示型站点(企业官网、博客):2核4G起步,单核性能优先,例如Intel X……

    2026年7月22日
    800
  • image的srcset属性 _查询镜像的基础镜像信息 – ListImageBasicImage

    image的srcset属性和ListImageBasicInfo查询命令,分别解决前端图片响应式加载和后端云镜像基础信息获取两个核心问题,掌握它们能显著提升网站性能与运维效率,srcset属性怎么用?响应式图片加载完整指南响应式图片加载是前端性能优化的关键一环,srcset属性允许你为同一张图片提供多个分辨率……

    2026年8月21日
    500
  • ip代理提取网站源码如何配置攻击惩罚?,流量标识如何设置

    实现IP代理提取网站源码与攻击惩罚流量标识的配置,关键在于选择支持动态规则引擎的源码,并通过流量标识模块区分正常用户与恶意爬虫,从而在代理提取环节直接阻断攻击流量,ip代理提取网站源码怎么配置攻击惩罚的流量标识配置攻击惩罚的流量标识,本质上是让代理提取系统具备识别异常请求的能力,绝大多数开源IP代理提取网站源码……

    2026年8月14日
    1000
  • 服务器固态硬盘价格现在是多少,哪个品牌性价比高

    2026年,服务器固态硬盘(SSD)价格继续跟随NAND晶圆周期波动,但不同协议与寿命等级之间的价差正在锁定新的平衡区间,NVMe取代SATA成为主力的趋势已不可逆,服务器固态硬盘价格对比:主流品牌与成本拆解选服务器的第一步往往是看报价单,但同样是SSD,SATA、SAS和NVMe的价差可能超出预期,以2025……

    AI资讯 2026年7月17日
    600
  • info域名注册怎么选?,域名注册哪家好?

    对于寻找性价比高、含义明确的域名后缀的用户,info域名注册是一个值得认真考虑的选项,尤其适合信息类网站和个人项目,但在做出决定前,需要了解其注册价格、适用场景以及与主流后缀的差异,info域名注册价格与性价比分析很多人刚接触info域名时,第一反应就是问info域名注册价格贵不贵,从市场整体来看,info域名……

    2026年8月17日
    300
  • 服务器忙返回码-30怎么解决,主要原因是什么

    服务器忙返回码-30直接表明服务器因负载过高而拒绝处理当前请求,解决它的核心是优化服务器性能或扩展资源,服务器忙返回码-30是什么原因服务器忙返回码-30通常在用户请求到达后端时触发,代表服务器由于瞬时并发过高或处理能力不足,主动丢弃了该请求,这个错误码常见于高流量的Web应用、游戏服务器或API接口,尤其在活……

    2026年7月22日
    1900
  • 大模型推理能不能用NPU?大模型部署NPU选型指南

    大模型推理完全可以使用NPU,且在端侧部署、低功耗场景及特定推理加速任务中,NPU往往比传统CPU或GPU更具能效优势,但需权衡生态兼容性与模型适配成本,NPU跑大模型的底层逻辑与硬件优势很多人对NPU(神经网络处理器)的印象还停留在手机拍照或简单的图像识别上,觉得它跑不动动辄百亿参数的大语言模型,这其实是一个……

    2026年6月22日
    2400
  • ai金融大模型哪里下载?金融大模型下载免费

    2026年AI金融大模型下载需通过官方合规渠道获取私有化部署版本,严禁使用来源不明的开源代码,核心在于确保数据隐私安全与金融级合规性,随着生成式人工智能在金融领域的渗透率突破临界点,金融机构对本地化部署的大模型需求呈爆发式增长,过去那种直接下载通用开源模型的做法已无法满足当前严苛的风控要求,现在的核心痛点不再是……

    2026年6月13日
    3010
  • AI大模型到底是什么?2026最新AI大模型入门指南

    AI大模型本质上是基于海量数据训练出的、具备理解与生成能力的超大规模神经网络,它不是简单的数据库检索,而是通过概率预测下一个字来实现类似人类的逻辑推理与创作,很多人听到“人工智能”四个字,第一反应还是那个只会下围棋或者下象棋的AlphaGo,或者是以前那种只能回答“今天天气不错”的聊天机器人,但2026年的今天……

    2026年6月13日
    4400
  • 手机ai大模型之战谁更强?2026主流手机ai大模型对比

    2026年手机AI大模型之战已不再单纯比拼算力堆叠,而是转向端侧隐私保护、跨设备协同及垂直场景落地的综合体验,用户应优先选择支持本地化部署且生态开放的品牌,端侧算力与隐私安全的博弈为什么本地运行成为主流趋势过去几年,大家习惯把数据上传到云端处理,觉得这样更聪明,但2026年的情况变了,业内专家指出,随着NPU……

    2026年6月13日
    2910

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注