保存为runasp.asp运行。账号密码admin,登陆后输入代码就可执行了!!
<% @ LANGUAGE="VBSCRIPT" %>
<% Opção Explícita
resposta.buffer=true
dim Senha,SUserName
SUserName="admin"
Senha = "admin"
dim SQLMutiStr
escurecer eu
ação fraca
action=request.querystring("action")
IF action="GetCode" then '---------TOT
NumCodeJS
OUTRO '--------TOT
Response.Write("<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"">")
Resposta.Write("<HTML>")
Resposta.Write("<HEAD>")
Response.Write("<TITLE>ASP RunCode SCR V1.0 / Criado por PaintBlue.Net V37</TITLE>")
Response.Write("<META NAME=""Gerador"" CONTENT=""EditPlus,V37,PaintBlue.Net"">")
Response.Write("<META NAME=""Autor"" CONTENT=""V37,PaintBlue.Net"">")
Response.Write("<META NAME=""Palavras-chave"" CONTENT=""PaintBlue.Net,,V37,RunCode,ASP,Script,BlueIdea.COM,Lfgbox.com"">")
Response.Write("<META NAME=""Descrição"" CONTENT=""运行ASP代码的ASP脚本!"">")
Resposta.Write("</HEAD>")
Response.Write("<BODY bgcolor=#D4D0C8>")
SQLMutiStr=trim(Request.Form("SQLMutiStr"))
if session("login")="" e action="chkpass" então
sessão("login")=checkPass()
terminar se
if action="sair" então sessão("login")=""
if sessão("login")="1" então
se ação = "RunCode" então
se SQLMutiStr="" então
Response.write "没有输入要运行的代码!"
Response.write "<br><br><a href=""javascript:window.history.back();"">返回运行页面</a><br><br>"
Response.write "<a href=""?action=exit"">退出登陆</a>"
resposta.fim
outro
dim ExeStrArr
escurecer
dim tempSQL,tempSQL2
escurecer ScriptArr,ScriptSubArr
tempSQL2=""
tempSQL=split(SQLMutiStr,vbcrlf)
if inStr(lcase(tempSQL(0)),"linguagem")>0 então
tempSQL2=tempSQL(1)
se ubound(tempSQL)>1 então
para i=1 para ubound(tempSQL)
tempSQL2=tempSQL2&tempSQL(i)
próximo
terminar se
tempSQL2=trim(tempSQL2)
outro
tempSQL2=SQLMutiStr
terminar se
tempSQL2=replace(tempSQL2,"<%"&"=","<"&"%response.write ")
fazer
tempSQL2=substituir(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)
para i = 0 a ub-1
ScriptSubArr=split(ScriptArr(i),"<"&"%")
se i> 0, então resposta.write (ScriptSubArr (0))
ExeCuteIt(ScriptSubArr(1))
próximo
chame EndProc("<font color=#009900>代码运行完毕!</font>")
terminar se
outro
%>
输入要运行的ASP代码:
<FORM METHOD=POST ACTION="?action=RunCode" style="margin:0px;">
<TEXTAREA NAME="SQLMutiStr" wrap='OFF' ROWS="20" style="width:100%;height:100%;table-layout:fixed;word-break:break-all;"><%=Servidor .Htmlencode(SQLMutiStr)%></TEXTAREA>
<br>
<INPUT TYPE="button" onclick="window.location.href='?action=exit';" Valor="LouOut">
<INPUT TYPE="redefinir" Valor="Limpar">
<INPUT TYPE="submit" value="Executar AspCode">
</FORM>
<% fim se
outro
chame loginmain()
terminar se
Resposta.write ("</BODY></HTML>")
END IF '-------TOT
SUB loginMain()
%>
<FORM METHOD=POST ACTION="?action=chkpass">Nome de usuário:<INPUT TYPE="text" NAME="Nome de usuário"><br>
Senha:<INPUT TYPE="password" NAME="Runpassword"><br>
CheckCode:<INPUT TYPE="GetCode" NAME="GetCode"><img src="runasp.asp?action=GetCode&Time=<%=timer()%>"><br>
<br><img width=125 height=0><INPUT TYPE="submit" value=" Login "></FORM>
<%
Finalizar
função SUB checkPass()
dim Nome de usuário,Runpassword,GetCode
dim errinfo
checkPass=""
Nome de usuário = trim(request.form("Nome de usuário"))
Runpassword=trim(request.form("Runpassword"))
GetCode=request.form("GetCode")
se UserName="" ou Runpassword="" então
errinfo=errinfo&"<li>用户名和密码输入不能为空"
terminar se
se não for numérico (GetCode), então
errinfo=errinfo&"<li>请输入数字校验码"
terminar se
se errinfo<>"" então
chame loginmain()
Informações de erro EndProc
terminar se
se action="chkpass" e Session("GetCode")=int(GetCode) e UserName=SUserName e Runpassword=Spassword então
Sessão("GetCode")=0
checkPass="1"
outro
chame loginmain()
EndProc "登陆失败!请重新确认正确输入"
terminar se
Função final
SUB ExeCuteIt(ExString)
em caso de erro, retome a seguir
Executar(ExString)
se err.número<>0 então
Response.write "<div style=""background-color: #ffeedd;padding: 6px;"">"
Response.write "<hora tamanho=1>"
Response.write "出错信息:<li><font color=#ff0000>"&err.description&"</font>"
Response.write "<hora tamanho=1>"
Response.write "出错代码:<li><font color=#0000ff>"&Htmlencode(ExString)&"</font>"
Response.write "<hr size=1></div>"
terminar se
em caso de erro, vá para 0
final SUB
HTMLEncode (reString)
dim Str:Str=reString
se não for nulo(Str) então
Str = substituir(Str, ">", ">")
Str = substituir(Str, "<", "<")
Str = Substituir(Str, CHR(32), " ")
Str = Substituir(Str, CHR(9), " ")
Str = Substituir(Str, CHR(34), """) ' "
Str = Substituir(Str, CHR(39), "'") ' '
Str = Substituir(Str, CHR(13), "")
Str = Substituir(Str, CHR(10) & CHR(10), "</P><P> ")
Str = Substituir(Str, CHR(10), "<BR> ")
HTMLEncode = Str
outro
HTMLEncode=""
terminar se
função final
'断点调试 num=0 中断
Sub Resposta_write(str,num)
dim istr:istr=str
dim inum:inum=num
resposta.write str&"<br>"
se inum = 0 então resposta.end
end sub
SUB EndProc(info)
Response.write "<hr size=1 color=#00aa00>"
Informações de resposta.write
Response.write "<hr size=1 color=#00aa00><a href=""javascript:window.history.back();"">返回运行页面</a><br><br>"
Response.write "<a href=""?action=exit"">退出登陆</a>"
resposta.fim
Fim do SUB
%>
<script linguagem="JScript" runat="Servidor">
função ObterNO(num){
varNumArray=[
]["0","0","0","3c","66","66","66","66","66","66","66","66", "3c","0","0","0"],
["0","0","0","30","38","30","30","30","30","30","30","30"," 30","0","0","0"],
["0","0","0","3c","66","60","60","30","18","c","6","6"," 7e","0","0","0"],
["0","0","0","3c","66","60","60","38","60","60","60","66"," 3c","0","0","0"],
["0","0","0","30","30","38","38","34","34","32","7e","30"," 78","0","0","0"],
["0","0","0","7e","6","6","6","3e","60","60","60","66"," 3c","0","0","0"],
["0","0","0","38","c","6","6","3e","66","66","66","66"," 3c","0","0","0"],
["0","0","0","7e","66","60","60","30","30","18","18","c"," c","0","0","0"],
["0","0","0","3c","66","66","66","3c","66","66","66","66"," 3c","0","0","0"],
["0","0","0","3c","66","66","66","66","7c","60","60","30"," 1c","0","0","0"]
];
varstr=[];
num=String(num).split("");
for(var i=0;i<NumArray[0].comprimento;i++)
for(var j=0;j<num.comprimento;j++)
str[str.length]=("0x"+NumArray[num[j]][i]);
var str1="#define counter_width "+j*8;
var str2="#define counter_height 16";
return str1+String.fromCharCode(13,10)+str2+String.fromCharCode(13,10)+"static unsigned char counter_bits[]={"+str+"}";
}
função GetRnd(Num){
retornar Math.floor(Math.random()*Math.pow(10,Num));
}
função NumCodeJS()
{
Response.buffer=true
var zNum;
var zNum=GetRnd(4);
if (zNum<1000) zNum+=999;
Sessão("GetCode") = zNum;
Response.ContentType="imagem/x-xbitmap";
Sessão("GetCode") = zNum;
Response.Write(GetNO(zNum));
}
</script>