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

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

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

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

请求过滤禁止特定扩展名

请求过滤是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

相关推荐

  • 在分享机构网站前需要了解什么,有哪些注意事项?

    对于需要获取机构专业资源的用户,分享机构网站是最高效的渠道,选择得当能事半功倍,分享机构网站推荐清单综合类分享机构网站这类平台覆盖多个行业,收录的机构资源种类齐全,它们通常聚合了券商研报、行业白皮书、机构调研纪要等内容,多数平台采用会员制,免费用户可查看部分摘要,付费用户能下载完整版,近年来,综合类分享机构网站……

    2026年7月21日
    1700
  • Ollama怎么设置上下文长度?如何修改ollama上下文窗口大小

    Ollama 设置上下文长度的核心方法是通过修改模型配置文件中的 num_ctx 参数,并在启动服务时通过环境变量或命令行参数覆盖默认值,从而直接决定模型能“多少前文内容,在本地部署大语言模型时,很多用户发现模型回复开始胡言乱语或忽略之前的指令,这通常不是模型智商下降,而是上下文窗口(Context Windo……

    2026年6月19日
    2400
  • 检测到IP地址冲突怎么办,是什么原因造成的?

    IP地址冲突(ALM-140054823)的本质是网络中存在两台设备使用了相同的IP地址,导致其中一台或双方无法正常通信,解决思路是定位冲突设备、修改IP或配置DHCP排除,让每个IP只对应一台设备,这个告警到底在说什么ALM-140054823这个编号来自网管平台或交换机,它检测到局域网内出现了IP地址冲突……

    2026年8月8日
    600
  • 服务器mysql数据库怎么备份?mysql数据库自动备份脚本

    服务器MySQL数据库备份的核心在于建立“本地快照+异地归档+定期验证”的闭环体系,单纯依赖单一备份方式无法应对数据丢失风险,在数字化运营中,数据库是企业的数字资产心脏,一旦遭遇硬件故障、误删表或勒索病毒攻击,没有备份意味着业务直接停摆,业内专家指出,数据恢复的成功率与备份策略的完整性呈正相关,许多中小企业主往……

    2026年7月7日
    12600
  • DDoS防御收费吗?ddos攻击怎么防御最有效

    防御 DDoS(分布式拒绝服务攻击)是否收费”这个问题,答案并不是简单的“是”或“否”,而是取决于你选择的防御方式、规模以及服务提供商,目前市场上的 DDoS 防御服务主要分为以下几类,其收费模式各不相同:免费基础防护(通常包含在基础服务中)大多数主流云服务商(如阿里云、腾讯云、华为云、AWS、Cloudfla……

    2026年7月10日
    5300
  • MapReduce执行过程是怎样的,MapReduce工作原理是什么?

    MapReduce 执行过程深度解析MapReduce 是一种用于大规模数据集并行处理的编程模型,其核心思想是将一个复杂的计算任务拆分为多个小的子任务,并在分布式集群中并行执行,MapReduce 的执行过程可以分为 Input(输入)、Map(映射)、Shuffle(洗牌)、Reduce(规约) 和 Outp……

    2026年7月13日
    800
  • 分布式消息服务Kafka怎么用?Kafka集群部署配置教程

    Kafka 作为高吞吐分布式消息队列,核心优势在于解耦系统、削峰填谷及数据异步处理,适合构建实时数据管道和微服务通信架构,在分布式系统日益复杂的今天,消息中间件已成为连接各个服务模块的“神经系统”,Kafka 凭借其独特的设计哲学,从众多竞品中脱颖而出,成为构建大规模数据流平台的首选方案,它不仅仅是一个简单的消……

    2026年7月3日
    10900
  • ins_emdbmk_是什么意思?,怎么用?

    ins_emdbmk_是通过内容深度整合与用户行为路径优化,在2026年百度搜索环境下实现高转化的核心手段,什么是ins_emdbmk_以及它为何重要ins_emdbmk_并非一个孤立的工具,而是一套将品牌信息无缝嵌入用户日常搜索与浏览场景的运营思路,业内专家指出,这套方法的关键在于让内容本身成为搜索需求的答案……

    2026年8月8日
    200
  • AI大模型原理机制是什么?大模型底层技术原理详解

    AI大模型的核心原理是通过海量数据训练,利用Transformer架构中的注意力机制捕捉语言逻辑,最终以概率预测的方式生成内容,大模型是如何“读懂”人类语言的很多人误以为AI像人脑一样拥有意识或理解力,其实它更像是一个超级复杂的“概率计算器”,业内专家指出,大模型并不真正理解语义,而是通过统计规律来预测下一个字……

    2026年6月13日
    2400
  • ai大模型解说软件怎么用?2026最新AI解说工具推荐

    AI大模型解说软件的核心价值在于将复杂的文本或数据转化为具备情感、节奏和画面感的音频,通过自动化流程大幅降低视频制作门槛,实现内容生产的降本增效,为什么传统配音方式正在被AI取代过去,制作一个高质量的视频解说,往往需要经历选角、录音棚预定、后期剪辑等繁琐环节,对于个人创作者或中小团队而言,这不仅意味着高昂的时间……

    2026年6月14日
    2310

发表回复

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