“特洛伊木馬”有被稱為BO, 是在美國(guó)一次黑客技術(shù)討論會(huì)上由一個(gè)黑客組織推出的。它其實(shí)是一種客戶機(jī)/服務(wù)器程序,其利用的原理就是:在本機(jī)直接啟動(dòng)運(yùn)行的程序擁有與使用者相同的權(quán)限。因此如果能夠啟動(dòng)服務(wù)器端(即被攻擊的計(jì)算機(jī))的服務(wù)器程序,就可以使用相應(yīng)的客戶端工具客戶程序直接控制它了。下面來(lái)談?wù)勅绾斡肰B來(lái)實(shí)現(xiàn)它。
使用VB建立兩個(gè)程序,一個(gè)為客戶端程序Client,一個(gè)為服務(wù)器端程序systry。
在Client工程中建立一個(gè)窗體,加載WinSock控件,稱為tcpClient,協(xié)議選擇TCP,再加入兩個(gè)文本框,用以輸入服務(wù)器的IP地址或服務(wù)器名,然后建立一個(gè)按鈕,按下之后就可以對(duì)連接進(jìn)行初始化了,代碼如下:
Private Sub cmdConnect_Click()
If Len(Text1.Text) = 0 And Len(Text2.Text) = 0 Then
MsgBox ("請(qǐng)輸入主機(jī)名或主機(jī)IP地址。")
Exit Sub
Else
If Len(Text1.Text) > 0 Then
tcpClient.RemoteHost = Text1.Text
Else
tcpClient.RemoteHost = Text2.Text
End If
End If
tcpClient.Connect
Timer1.Enabled = True
End Sub
連接建立之后就可以使用DataArrival事件處理所收到的數(shù)據(jù)了。
連接建立之后就可以使用DataArrival事件處理所收到的數(shù)據(jù)了。
在服務(wù)器端systry工程也建立一個(gè)窗體,加載WinSock控件,稱為tcpServer,協(xié)議選擇TCP,在Form_Load事件中加入如下代碼:
Private Sub Form_Load()
tcpServer.LocalPort = 1999
tcpServer.Listen
End Sub
準(zhǔn)備應(yīng)答客戶端程序的請(qǐng)求連接,使用ConnectionRequest事件來(lái)應(yīng)答戶端程序的請(qǐng)求,代碼如下:
Private Sub tcpServer_ConnectionRequest
(ByVal requestID As Long)
If tcpServer.State < > sckClosed Then
tcpServer.Close‘檢查控件的 State 屬性是否為關(guān)閉的。
End If ’如果不是,在接受新的連接之前先關(guān)閉此連接。
tcpServer.Accept requestID
End Sub
這樣在客戶端程序按下了連接按鈕后,服務(wù)器端程序的ConnectionRequest事件被觸發(fā),執(zhí)行了以上的代碼。如果不出意外,連接就被建立起來(lái)了。
使用VB建立兩個(gè)程序,一個(gè)為客戶端程序Client,一個(gè)為服務(wù)器端程序systry。
在Client工程中建立一個(gè)窗體,加載WinSock控件,稱為tcpClient,協(xié)議選擇TCP,再加入兩個(gè)文本框,用以輸入服務(wù)器的IP地址或服務(wù)器名,然后建立一個(gè)按鈕,按下之后就可以對(duì)連接進(jìn)行初始化了,代碼如下:
Private Sub cmdConnect_Click()
If Len(Text1.Text) = 0 And Len(Text2.Text) = 0 Then
MsgBox ("請(qǐng)輸入主機(jī)名或主機(jī)IP地址。")
Exit Sub
Else
If Len(Text1.Text) > 0 Then
tcpClient.RemoteHost = Text1.Text
Else
tcpClient.RemoteHost = Text2.Text
End If
End If
tcpClient.Connect
Timer1.Enabled = True
End Sub
連接建立之后就可以使用DataArrival事件處理所收到的數(shù)據(jù)了。
連接建立之后就可以使用DataArrival事件處理所收到的數(shù)據(jù)了。
在服務(wù)器端systry工程也建立一個(gè)窗體,加載WinSock控件,稱為tcpServer,協(xié)議選擇TCP,在Form_Load事件中加入如下代碼:
Private Sub Form_Load()
tcpServer.LocalPort = 1999
tcpServer.Listen
End Sub
準(zhǔn)備應(yīng)答客戶端程序的請(qǐng)求連接,使用ConnectionRequest事件來(lái)應(yīng)答戶端程序的請(qǐng)求,代碼如下:
Private Sub tcpServer_ConnectionRequest
(ByVal requestID As Long)
If tcpServer.State < > sckClosed Then
tcpServer.Close‘檢查控件的 State 屬性是否為關(guān)閉的。
End If ’如果不是,在接受新的連接之前先關(guān)閉此連接。
tcpServer.Accept requestID
End Sub
這樣在客戶端程序按下了連接按鈕后,服務(wù)器端程序的ConnectionRequest事件被觸發(fā),執(zhí)行了以上的代碼。如果不出意外,連接就被建立起來(lái)了。