亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASP > 正文

用VB編寫一個可以在ASP環境下調用的運行CMD命令的組件

2024-05-04 11:06:33
字體:
來源:轉載
供稿:網友
有時我們在管理服務器時為了安全起見會禁用windows scripting host,這樣能防止某些不法用戶利用wsh生成一個webshell,對服務器造成很大的安全隱患。但如果我們又想禁用wsh,又想使用自己的webshell用于服務器的管理怎么辦呢?這里介紹了一種實現asp中運行cmd并顯示結果的組件編程。希望對大家能有所幫助。

首先我們新建一個activedll工程,命名為aspcmd,新建的類命名為cmdshell。在“project“的“referenct“中添加一個引用:microsoft active server pages object library。

然后我們的思路是使用window api shellexecute調用cmd.exe,將運行的結果保存到一個臨時文本文件,然后讀出這個文件的內容顯示出來。

以下是工程aspcmd的類cmdshell.cls的代碼。

option explicit
dim rp as response
dim rq as request
dim ap as application
dim sr as server
dim sn as session
private declare sub sleep lib "kernel32" (byval dwmilliseconds as long)
private declare function shellexecute lib "shell32.dll" alias "shellexecutea" (byval hwnd as long, byval lpoperation as string, byval lpfile as string, byval lpparameters as string, byval lpdirectory as string, byval nshowcmd as long) as long


private sub shellex(byval slocation as string, byval spara as string, optional maxedform as boolean = false)
on error goto errhandle:
dim lr as long
dim style as long
dim hwnd as long
if maxedform then
style = vbmaximizedfocus
else
style = vbnormalfocus
end if

lr = shellexecute(hwnd, "open", slocation, spara, "", style)
if (lr < 0) or (lr > 32) then
'success
else
rp.write "error occered when starting the program " & slocation
end if
errhandle:
rp.write "error:" & err.description
end sub

public sub onstartpage(byval mysc as scriptingcontext)
set rp = mysc.response
set rq = mysc.request
set sr = mysc.server
set ap = mysc.application
set sn = mysc.session
end sub

public sub onendpage()
set rp = nothing
set rq = nothing
set sr = nothing
set ap = nothing
set sn = nothing
end sub

private function fileexists(filename as string) as boolean
dim i as integer
on error resume next
i = len(dir$(filename))
if err or i = 0 then fileexists = false else fileexists = true
end function

private function isopen(filename as string) as boolean
dim ffile as integer
dim msg as string
ffile = freefile()
on error goto erropen
open filename for binary lock read write as ffile
close ffile
exit function
erropen:
if err.number <> 70 then
msg = "error # " & str(err.number) & " was generated by " _
& err.source & chr(13) & err.description
else
isopen = true
end if
end function

public sub exec1(byval strcmd as string)
on error goto errhandle:
dim mytimer as integer
mytimer = 0

dim strout as string
dim strfname as string
//生成一個臨時文件
if len(app.path) = 3 then
strfname = app.path & "lhtmp.txt"
else
strfname = app.path & "/lhtmp.txt"
end if
//如果在運行前文件已存在則刪除之
if fileexists(strfname) then
kill strfname
end if

//運行行用戶的cmd命令,并將結果輸出到臨時文件中
//注意cmd.exe的/c參數是指運行完一個命令后馬上結束會話狀態。等同于在windows的run中輸入的cmd命令。
dim strpara as string
strpara = "/c " & strcmd & ">" & strfname
shellex "cmd.exe", strpara
//等待生成輸出文件
do while not fileexists(strfname)
sleep 1000
doevents
mytimer = mytimer + 1
if mytimer = 15 then
exit do
end if
loop
mytimer = 0
//等待文件輸出完畢
do while isopen(strfname)
sleep 1000
doevents
mytimer = mytimer + 1
if mytimer = 15 then
exit do
end if
loop

//顯示輸出文件的內容
open strfname for input as #1
do while not eof(1)
line input #1, strout
rp.write strout & vbcrlf
loop
close #1
sleep 1000
//刪除臨時文件
kill strfname
exit sub
errhandle:
rp.write "error occured:" & err.description
end sub

生成aspcmd.dll,使用regsvr32 aspcmd.dll注冊組件。

以下是調用該dll的一個asp程序例子:

<%@language="vbscript"%>
<style type=&quo

菜鳥學堂:
|||t;text/css">
<!--
.singleborder {
border: 1px solid;
background-color: #000000;
font-family: arial, helvetica, sans-serif;
color: #ffffff;
}
.noborder {
border: 1px none;
background-color: #000000;
font-family: arial, helvetica, sans-serif;
color: #ffffff;
}
body{background-color: #000000;scrollbar-face-color: #333333; font-size: 12px; scrollbar-highlight-color: #000000; scrollbar-shadow-color: #000000; scrollbar-3dlight-color: #000000; scrollbar-arrow-color: #000000; scrollbar-track-color: #000000; scrollbar-darkshadow-color: #000000
font-family: fixedsys; font-size: 9pt}
-->
</style>
<form action="" method="post">
<input name="cmd" class="singleborder" value="<%=request.form("cmd")%>" size=102>
<input type="submit" class="singleborder" value="execute">
</form>
<%
if request.form("cmd")<>"" then
set testme=server.createobject("aspcmd.cmdshell")
%>
<div class="noborder"><%=request.form("cmd")%></div><br>
<textarea cols="120" rows="30" class="noborder">
<%=testme.exec1(request.form("cmd"))%></textarea>

<% set testme=nothing
end if
%>

以下是運行ipconfig /all的結果:

windows 2000 ip configuration

host name . . . . . . . . . . . . : ibm-wrk-02
primary dns suffix . . . . . . . :
node type . . . . . . . . . . . . : broadcast
ip routing enabled. . . . . . . . : no
wins proxy enabled. . . . . . . . : no

ethernet adapter 本地連接:

connection-specific dns suffix . :
description . . . . . . . . . . . : intel(r) pro/100 vm network connection
physical address. . . . . . . . . : 00-08-02-bd-d7-eb
dhcp enabled. . . . . . . . . . . : no
ip address. . . . . . . . . . . . : 192.168.0.4
subnet mask . . . . . . . . . . . : 255.255.255.0
default gateway . . . . . . . . . : 192.168.0.1
dns servers . . . . . . . . . . . : 202.106.196.115





發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久国产a级| 日韩动漫免费观看电视剧高清| 国产深夜精品福利| 欧美一级大胆视频| 日韩av在线导航| 国语对白做受69| 3344国产精品免费看| 亚洲一区二区三区四区在线播放| 97国产精品视频| 亚洲一区中文字幕| 91亚洲精品久久久| 久久人人爽人人爽爽久久| 在线免费看av不卡| 国内精品久久久久影院 日本资源| 国产成人短视频| 一区二区日韩精品| 国外视频精品毛片| 国产亚洲视频在线| 91精品久久久久久久久久另类| 欧美视频一区二区三区…| 亚洲精品av在线播放| 日韩精品中文字幕视频在线| 国产成人一区三区| 国产91精品久久久久久| 国精产品一区一区三区有限在线| 日韩精品亚洲视频| 久久久综合免费视频| 国产精品免费看久久久香蕉| 91欧美精品成人综合在线观看| 97国产真实伦对白精彩视频8| 日韩精品亚洲精品| 国产做受高潮69| 亚洲国产中文字幕在线观看| 国模精品系列视频| 国产日本欧美一区二区三区在线| 亚洲国产精品va在线看黑人| 热99精品只有里视频精品| 欧美www在线| 国产精品扒开腿做爽爽爽视频| 日韩精品中文字幕在线播放| 中文字幕视频在线免费欧美日韩综合在线看| 国产午夜一区二区| 成人国产精品av| 国产精品麻豆va在线播放| 这里只有精品视频在线| 91精品在线观看视频| 精品国产视频在线| 国产精品v片在线观看不卡| 成人精品网站在线观看| 欧美性生交xxxxx久久久| 伊人久久男人天堂| 奇米成人av国产一区二区三区| 69av成年福利视频| 日韩电影在线观看永久视频免费网站| 日韩av在线免费观看一区| 亚洲裸体xxxx| www.xxxx欧美| 精品久久久久久久久久ntr影视| 日韩电影大全免费观看2023年上| 久久精彩免费视频| 日韩免费在线免费观看| 在线观看精品国产视频| 久久视频精品在线| 亚洲美女性生活视频| 色综合久久悠悠| 亚洲一区二区三区香蕉| 亚洲福利在线看| 亚洲精品98久久久久久中文字幕| 美女性感视频久久久| 中文字幕国产亚洲2019| 欧美另类交人妖| 国产亚洲成精品久久| 亚洲精品久久久一区二区三区| 久久久91精品国产| 国产精品久久久久久超碰| 国产精品普通话| 在线观看欧美日韩| 中文字幕国产亚洲2019| 午夜精品久久久久久久久久久久| 亚洲激情视频在线播放| 欧洲日本亚洲国产区| 精品国产电影一区| 欧美日韩激情视频| 欧美精品免费播放| 欧美大片网站在线观看| 久久婷婷国产麻豆91天堂| 久久影视免费观看| 亚洲人线精品午夜| 日韩视频免费中文字幕| 日本精品久久久久久久| 日韩欧美国产一区二区| 亚洲国产精品小视频| 1769国产精品| 精品国产乱码久久久久久虫虫漫画| 亚洲综合色av| 亚洲三级av在线| 日韩中文字幕在线免费观看| 69国产精品成人在线播放| 亚洲图片欧美日产| 亚洲大尺度美女在线| 久久91亚洲精品中文字幕| 亚洲天堂视频在线观看| 欧美激情videoshd| 日本免费一区二区三区视频观看| 欧美日韩一区二区三区在线免费观看| 欧美韩国理论所午夜片917电影| 久久久久久噜噜噜久久久精品| 狠狠做深爱婷婷久久综合一区| 美女福利精品视频| 日韩av毛片网| 亚洲国产精品成人精品| 久久久久这里只有精品| 国产精品免费福利| 川上优av一区二区线观看| 国产精品久久久久久久久久久不卡| 欧美精品18videos性欧| 欧美一区二区三区免费视| 久久久久久久久亚洲| 欧美国产一区二区三区| 日韩精品亚洲精品| 欧美色视频日本高清在线观看| 日韩专区在线播放| 国产精品视频专区| 亚洲精品丝袜日韩| 深夜福利国产精品| 亚洲男人天堂手机在线| 尤物九九久久国产精品的特点| 亚洲片在线观看| 亚洲一区av在线播放| 国产精品高潮视频| 精品国产美女在线| 亚洲激情视频网| 成人激情av在线| 亚洲天堂2020| 欧美日本高清一区| 久热精品在线视频| 亚洲综合精品伊人久久| 国产精品美女网站| 国语对白做受69| 午夜精品久久久99热福利| 国产精品91久久久| 91成人精品网站| 欧美激情综合亚洲一二区| 国产精品成熟老女人| 亚洲一区美女视频在线观看免费| 国产精品a久久久久久| 国产精品影院在线观看| 成人欧美一区二区三区在线| 成人性生交大片免费看视频直播| 亚洲成人a级网| 日韩视频免费大全中文字幕| 国产丝袜一区二区三区免费视频| 欧美高清视频在线观看| 国产精品偷伦一区二区| 成人h片在线播放免费网站| 久久久久北条麻妃免费看| 亚洲男女自偷自拍图片另类| 蜜臀久久99精品久久久久久宅男| 在线观看国产成人av片| 欧美视频中文字幕在线| 亚洲美女喷白浆| 国产精品吊钟奶在线| 中文字幕欧美日韩| 国产啪精品视频|