从网站运行隐藏cmd.exe(使用javascript或VBScript)



为什么下面的例子不起作用?此外,我想在createEmptyFile()函数中隐藏cmd.exe窗口。浏览器可能不应该阻止此代码:

<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Default Page Title</title>
</head>
<body>
<script type="text/javascript" language="javascript"> 
function pingItjs(ipAddress) {
var oShell = new ActiveXObject("wscript.shell"); 
oShell.Run("cmd.exe /k ping" + ipAddress); 
}
function createEmptyFile() {
var oShell = new ActiveXObject("wscript.shell"); 
oShell.Run("cmd.exe /c cd %tmp% && echo hello > EmptyFile"); 
}
</script>
<script language="VBScript">
function pingIt(ipAddress)
set WshShell = CreateObject("WScript.Shell")
WshShell.Run("cmd.exe /k ping " & ipAddress)
end function
</script>

<a href="javascript:pingItjs('216.58.215.78')">ping</a>

<div onclick="call pingIt('216.58.215.78')">ping</div>
<a href="javascript:createEmptyFile()">ping</a>
</body>
</html>

ActiveX

MDN 参考指出:

注意: 在 Internet Explorer 9 标准模式、Internet Explorer 10 标准模式、Internet Explorer 11 标准模式和 Windows 应用商店应用或更高版本中不支持在远程服务器上创建 ActiveXObject

因此,除非脚本在本地计算机中运行,否则代码将不会运行。在内部网的情况下,这似乎可以有所延伸,其中MDN说:

重要:ActiveX 对象可能会出现安全问题。若要使用 ActiveXObject,您可能需要在 Internet Explorer 中调整相关安全区域的安全设置。例如,对于本地 Intranet 区域,通常需要将自定义设置更改为"初始化未标记为可安全编写脚本的 ActiveX 控件并编写脚本"。

VBScript

VBScript是一种专有的Microsoft语言,因此只能在IE中使用。看到这个答案。此链接(来自刚刚引用的答案(指出 VBScript 已在 IE 11 中弃用,在边缘模式下的 IE 11 中不起作用。

可能,这可以帮助您使 VBScript 即使在 Edge 兼容模式下也能在 IE 11 中工作,

<meta http-equiv="x-ua-compatible" content="IE=10">

最新更新