關(guān)于腳本調(diào)用外部對(duì)像和類(lèi)型庫(kù)
更新時(shí)間:2008年06月14日 12:22:58 作者:
主要是用于flash網(wǎng)頁(yè)木馬調(diào)用方法,是flash的一個(gè)bug吧,大家以后要小心了
先舉個(gè)例子,最近的flash網(wǎng)馬調(diào)用:
var Flashver = (new ActiveXObject("ShockwaveFlash.ShockwaveFlash.9")).GetVariable("$version").split(",");
這個(gè)ShockwaveFlash.ShockwaveFlash.9從何而來(lái),用exescope打開(kāi)flash9f.ocx選擇typelib,即可看到ShockwaveFlash.ShockwaveFlash.9對(duì)像的函數(shù),其中就有GetVariable。這就帶來(lái)另一個(gè)問(wèn)題,如何知是要打開(kāi)的是flash9f.ocx呢?如果只是針對(duì)這個(gè),可以用IE的組件管理器查看到。
那么我們調(diào)用其它的可不可以,像mstsc.exe,3389連接器的組件呢?注冊(cè)表查找mstsc.exe,找到的HKEY_CLASSES_ROOT\CLSID\{3523c2fb-4031-44e4-9a3b-f1e94986ee7f}\InprocServer32就是C:\WINDOWS\system32\mstscax.dll,然后用exescope打開(kāi)也可以看到這個(gè)組件的函數(shù)、屬性、方法等??梢院?jiǎn)單示例(md,只是能改mstsc.exe的各方面屬性值,一直打不開(kāi)連接界面,誰(shuí)來(lái)改改?):
Sub ExecuteConnection(strServer, strUser, strPW)
' create the client
Dim objMsRdpClient
Set objMsRdpClient = CreateObject("MsTscAx.MsTscAx.3")
objMsRdpClient.Server = strServer
objMsRdpClient.UserName =strUser
objMsRdpClient.FullScreen = false
objMsRdpClient.AdvancedSettings2.RedirectDrives = False
objMsRdpClient.AdvancedSettings2.RedirectPrinters = False
objMsRdpClient.AdvancedSettings2.RedirectPorts = False
objMsRdpClient.AdvancedSettings2.RedirectSmartCards = False
objMsRdpClient.AdvancedSettings2.ClearTextPassword = strPW
objMsRdpClient.StartConnected = True
WScript.echo "Before connecting"
wscript.echo objMsRdpClient.version
dim intResult
intResult = objMsRdpClient.Connect
WScript.echo "After connecting Result: " & intResult
End Sub
調(diào)用組件,不僅可以使用注冊(cè)表中找到的HKEY_CLASSES_ROOT\CLSID\{3523c2fb-4031-44e4-9a3b-f1e94986ee7f}\ProgID(上邊的例子就是CreateObject("MsTscAx.MsTscAx.3")
),也可以用HKEY_CLASSES_ROOT\CLSID,這也就是為什么我們?cè)赼sp木馬中也可以用到的classid,像海陽(yáng)頂端2006+源碼中的:
<object runat="server" id = "ws" scope = "page" classid = "clsid:72C24DD5-D70A-438B-8A42-98424B88AFB8"></object>
<object runat="server" id = "fso" scope = "page" classid = "clsid:0D43FE01-F093-11CF-8940-00A0C9054228"></object>
<object runat="server" id = "ws" scope = "page" classid = "clsid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B"></object>
<object runat="server" id = "sa" scope = "page" classid = "clsid:13709620-C279-11CE-A49E-444553540000"></object>
當(dāng)然其它別的網(wǎng)馬,基本調(diào)用的都是CLSID了,你可以隨便找一些網(wǎng)馬來(lái)看。
不過(guò)在vbs中好像不可以直接調(diào)用classid,放在wsf文件中就可以,當(dāng)然是html之類(lèi)的更無(wú)所謂了。
這里只是簡(jiǎn)單說(shuō)一下,如果你要看圖文的教程,可以看一下這個(gè):
var Flashver = (new ActiveXObject("ShockwaveFlash.ShockwaveFlash.9")).GetVariable("$version").split(",");
這個(gè)ShockwaveFlash.ShockwaveFlash.9從何而來(lái),用exescope打開(kāi)flash9f.ocx選擇typelib,即可看到ShockwaveFlash.ShockwaveFlash.9對(duì)像的函數(shù),其中就有GetVariable。這就帶來(lái)另一個(gè)問(wèn)題,如何知是要打開(kāi)的是flash9f.ocx呢?如果只是針對(duì)這個(gè),可以用IE的組件管理器查看到。
那么我們調(diào)用其它的可不可以,像mstsc.exe,3389連接器的組件呢?注冊(cè)表查找mstsc.exe,找到的HKEY_CLASSES_ROOT\CLSID\{3523c2fb-4031-44e4-9a3b-f1e94986ee7f}\InprocServer32就是C:\WINDOWS\system32\mstscax.dll,然后用exescope打開(kāi)也可以看到這個(gè)組件的函數(shù)、屬性、方法等??梢院?jiǎn)單示例(md,只是能改mstsc.exe的各方面屬性值,一直打不開(kāi)連接界面,誰(shuí)來(lái)改改?):
Sub ExecuteConnection(strServer, strUser, strPW)
' create the client
Dim objMsRdpClient
Set objMsRdpClient = CreateObject("MsTscAx.MsTscAx.3")
objMsRdpClient.Server = strServer
objMsRdpClient.UserName =strUser
objMsRdpClient.FullScreen = false
objMsRdpClient.AdvancedSettings2.RedirectDrives = False
objMsRdpClient.AdvancedSettings2.RedirectPrinters = False
objMsRdpClient.AdvancedSettings2.RedirectPorts = False
objMsRdpClient.AdvancedSettings2.RedirectSmartCards = False
objMsRdpClient.AdvancedSettings2.ClearTextPassword = strPW
objMsRdpClient.StartConnected = True
WScript.echo "Before connecting"
wscript.echo objMsRdpClient.version
dim intResult
intResult = objMsRdpClient.Connect
WScript.echo "After connecting Result: " & intResult
End Sub
調(diào)用組件,不僅可以使用注冊(cè)表中找到的HKEY_CLASSES_ROOT\CLSID\{3523c2fb-4031-44e4-9a3b-f1e94986ee7f}\ProgID(上邊的例子就是CreateObject("MsTscAx.MsTscAx.3")
),也可以用HKEY_CLASSES_ROOT\CLSID,這也就是為什么我們?cè)赼sp木馬中也可以用到的classid,像海陽(yáng)頂端2006+源碼中的:
<object runat="server" id = "ws" scope = "page" classid = "clsid:72C24DD5-D70A-438B-8A42-98424B88AFB8"></object>
<object runat="server" id = "fso" scope = "page" classid = "clsid:0D43FE01-F093-11CF-8940-00A0C9054228"></object>
<object runat="server" id = "ws" scope = "page" classid = "clsid:F935DC22-1CF0-11D0-ADB9-00C04FD58A0B"></object>
<object runat="server" id = "sa" scope = "page" classid = "clsid:13709620-C279-11CE-A49E-444553540000"></object>
當(dāng)然其它別的網(wǎng)馬,基本調(diào)用的都是CLSID了,你可以隨便找一些網(wǎng)馬來(lái)看。
不過(guò)在vbs中好像不可以直接調(diào)用classid,放在wsf文件中就可以,當(dāng)然是html之類(lèi)的更無(wú)所謂了。
這里只是簡(jiǎn)單說(shuō)一下,如果你要看圖文的教程,可以看一下這個(gè):
相關(guān)文章
用vbscript實(shí)現(xiàn)將腳本的輸出復(fù)制到剪貼板
用vbscript實(shí)現(xiàn)將腳本的輸出復(fù)制到剪貼板...2007-04-04encrypt.vbs 內(nèi)容加密vbs實(shí)現(xiàn)代碼
內(nèi)容加密vbs實(shí)現(xiàn)代碼 本人不能保證文件能改過(guò)來(lái).請(qǐng)大家先測(cè)試下,注意備份。2009-09-09用vbs實(shí)現(xiàn)向任何電子郵件發(fā)送郵件
向任何電子郵件發(fā)送郵件的vbs腳本文件代碼2008-05-05