编写一个asp代码执行器

该博客提供了一个ASP代码运行脚本,保存为runasp.asp运行,账号密码均为admin。脚本包含登录验证、代码执行、错误处理等功能,使用VBScript和JScript编写,可输入ASP代码并执行,还具备数字校验码等机制。
保存为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("<TITLE>ASP RunCode SCR V1.0 / Create By PaintBlue.Net V37</TITLE>")
Response.Write("<META NAME=""Generator"" CONTENT=""EditPlus,V37,PaintBlue.Net"">")
Response.Write("<META NAME=""Author"" CONTENT=""V37,PaintBlue.Net"">")
Response.Write("<META NAME=""Keywords"" CONTENT=""PaintBlue.Net,,V37,RunCode,ASP,Script,BlueIdea.COM,Lfgbox.com"">")
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=tempSQL2&tempSQL(i)
next
end if
tempSQL2=trim(tempSQL2)
else
tempSQL2=SQLMutiStr
end if
tempSQL2=replace(tempSQL2,"<%"&"=","<"&"%response.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 response.write (ScriptSubArr(0))
ExeCuteIt(ScriptSubArr(1))
next
call EndProc("<font color=#009900>代码运行完毕!</font>")
end if
else
%>
输入要运行的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;"><%=Server.Htmlencode(SQLMutiStr)%></TEXTAREA>
<br>
<INPUT TYPE="button" onclick="window.location.href='?action=exit';" Value="LouOut">
<INPUT TYPE="reset" Value="Clear">
<INPUT TYPE="submit" value="Run AspCode">
</FORM>
<% end if
else
call loginmain()
end if
Response.write ("</BODY></HTML>")
END IF '-------TOT

SUB loginMain()
%>

<FORM METHOD=POST ACTION="?action=chkpass">&nbsp;UserName:<INPUT TYPE="text" NAME="UserName"><br>
&nbsp;PassWord:<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>
<%
End SUB

function checkPass()
dim UserName,Runpassword,GetCode
dim errinfo
checkPass=""
UserName=trim(request.form("UserName"))
Runpassword=trim(request.form("Runpassword"))
GetCode=request.form("GetCode")
if UserName="" or Runpassword="" then
errinfo=errinfo&"<li>用户名和密码输入不能为空"
end if
if Not isnumeric(GetCode) then
errinfo=errinfo&"<li>请输入数字校验码"
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 err.number<>0 then
Response.write "<div style=""background-color: #ffeedd;padding: 6px;"">"
Response.write "<hr size=1>"
Response.write "出错信息:<li><font color=#ff0000>"&err.description&"</font>"
Response.write "<hr size=1>"
Response.write "出错代码:<li><font color=#0000ff>"&Htmlencode(ExString)&"</font>"
Response.write "<hr size=1></div>"
end if
on error goto 0
end SUB

function HTMLEncode(reString)
dim Str:Str=reString
if not isnull(Str) then
Str = replace(Str, ">", "&gt;")
Str = replace(Str, "<", "&lt;")
Str = Replace(Str, CHR(32), "&nbsp;")
Str = Replace(Str, CHR(9), "&nbsp;&nbsp;&nbsp;&nbsp;")
Str = Replace(Str, CHR(34), "&quot;") ' "
Str = Replace(Str, CHR(39), "'") ' '
Str = Replace(Str, CHR(13), "")
Str = Replace(Str, CHR(10) & CHR(10), "</P><P> ")
Str = Replace(Str, CHR(10), "<BR> ")
HTMLEncode = Str
else
HTMLEncode=""
end if
end function

'断点调试 num=0 中断
Sub Response_write(str,num)
dim istr:istr=str
dim inum:inum=num
response.write str&"<br>"
if inum=0 then response.end
end sub

SUB EndProc(info)
Response.write "<hr size=1 color=#00aa00>"
Response.write info
Response.write "<hr size=1 color=#00aa00><a href=""javascript:window.history.back();"">返回运行页面</a><br><br>"
Response.write "<a href=""?action=exit"">退出登陆</a>"
response.end
End SUB
%>
<script language="JScript" runat="Server">
function GetNO(num){
var NumArray=[
]["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"]
];
var str=[];
num=String(num).split("");
for(var i=0;i<NumArray[0].length;i++)
for(var j=0;j<num.length;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+"}";
}
function GetRnd(Num){
return Math.floor(Math.random()*Math.pow(10,Num));
}
function NumCodeJS()
{
Response.buffer=true
var zNum;
var zNum=GetRnd(4);
if (zNum<1000) zNum+=999;
Session("GetCode") = zNum;
Response.ContentType="image/x-xbitmap";
Session("GetCode") = zNum;
Response.Write(GetNO(zNum));
}
</script>

采用PyQt5框架与Python编程语言构建图书信息管理平台 本项目基于Python编程环境,结合PyQt5图形界面开发库,设计实现了一套完整的图书信息管理解决方案。该系统主要面向图书馆、书店等机构的日常运营需求,通过模块化设计实现了图书信息的标准化管理流程。 系统架构采用典型的三层设计模式,包含数据存储层、业务逻辑层和用户界面层。数据持久化方案支持SQLite轻量级数据库与MySQL企业级数据库的双重配置选项,通过统一的数据库操作接口实现数据存取隔离。在数据建模方面,设计了包含图书基本信息、读者档案、借阅记录等核心数据实体,各实体间通过主外键约束建立关联关系。 核心功能模块包含六大子系统: 1. 图书编目管理:支持国际标准书号、中国图书馆分类法等专业元数据的规范化著录,提供批量导入与单条录入两种数据采集方式 2. 库存动态监控:实时追踪在架数量、借出状态、预约队列等流通指标,设置库存预警阈值自动提醒补货 3. 读者服务管理:建立完整的读者信用评价体系,记录借阅历史与违规行为,实施差异化借阅权限管理 4. 流通业务处理:涵盖借书登记、归还处理、续借申请、逾期计算等标准业务流程,支持射频识别技术设备集成 5. 统计报表生成:按日/月/年周期自动生成流通统计、热门图书排行、读者活跃度等多维度分析图表 6. 系统维护配置:提供用户权限分级管理、数据备份恢复、操作日志审计等管理功能 在技术实现层面,界面设计遵循Material Design设计规范,采用QSS样式表实现视觉定制化。通过信号槽机制实现前后端数据双向绑定,运用多线程处理技术保障界面响应流畅度。数据验证机制包含前端格式校验与后端业务规则双重保障,关键操作均设有二次确认流程。 该系统适用于中小型图书管理场景,通过可扩展的插件架构支持功能模块的灵活组合。开发过程中特别注重代码的可维护性,采用面向对象编程范式实现高内聚低耦合的组件设计,为后续功能迭代奠定技术基础。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值