gpt4 book ai didi

security - 如何使用 WScript.Shell 对象调试 ASP 权限问题?

转载 作者:行者123 更新时间:2023-12-03 23:59:51 26 4
gpt4 key购买 nike

我必须从一些旧的 ASP 应用程序运行命令行操作。

这是我的代码:

<%
cmd = "%comspec% /c echo Hello"

set wsh = CreateObject("WScript.Shell")
ireturn = wsh.Run(cmd, 0, true)
set wsh = nothing
%>

这是我收到的结果:

Microsoft VBScript runtime error '800a0046'

Permission denied

/test.asp, line 6



您知道如何使 IIS6 运行此代码吗?

注意:当然我不必运行 echo 命令,但我想排除问题的任何其他原因。

更新:我尝试了 tomalaks 提到的大多数事情,但没有任何帮助。也许我可以稍微改变一下问题。 我该如何调试这个问题?

最佳答案

ASP 通常被拒绝访问任何有潜在危险的东西,例如 cmd.exe。检查 cmd.exe 上的文件权限,看看这是否适合您(我想是的)。

如果您确实必须使用 cmd.exe 来执行部分页面处理,请更改 cmd.exe 上的文件权限(不推荐用于面向 Internet 的 Web 服务器),或者确保 ASP 页面运行未拒绝的凭据访问该文件。

要实现这一点,请使用 IIS 管理控制台删除对 ASP 页面的“匿名访问”并改用 Windows 集成身份验证(如果可行),或保留“匿名访问”并输入一组固定的应使用的凭据默认的“IUSR_...”。

或者,如果您仅使用 cmd.exe 来启动向 STDOUT 输出某些内容的程序,则可以尝试直接启动该程序,而无需将其包装在 cmd.exe 调用中。同样,运行 ASP 页的用户需要访问该程序的可执行文件。

关于security - 如何使用 WScript.Shell 对象调试 ASP 权限问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/897293/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com