آیا می دانید بیشتر ضربهای که در مقابل حملات سایبری در سایت می خوریم از عدم بروزرسانی درست افزونههاست. زمانی که شما افزونهها را بروز نمیکنید و این مسئله رو از نظر دور میکنید مسلما با مشکلات جدی روبهرو خواهید شد. همین اتفاقی که چند مدت پیش بسیاری از وبسایتهای وردپرسی را دچار مشکل کرد و متاسفانه بسیاری از آنها هک شدند و از بین رفتند!
دو افزونه Profile builder و Duplicator باعث مشکلات امنیتی خطرناکی در وبسایتهای وردپرسی شدند که به بررسی آن میپردازیم.
یک اشکال در کنترل کننده فرم، این را برای کاربر مشکوک، محقق میسازد تا امکان ارسال ورودی در زمینههای فرم را که در شکل واقعی اصلا وجود ندارد، فراهم کند. به خصوص اگر ادمینهای یک سایت، User Role field را به فرم اضافه نکرده باشند، یک مهاجم یا هکر میتواند یک مقدار موجود در User Role را در زمان ارسال فرم خود، استفاده کند.
هنگامی که ادمینها User Role selector را به یک فرم اضافه میکنند، آنها باید لیستی از نقشهای تأیید شده را نیز برای کاربران جدید انتخاب کنند. اگر این لیست ایجاد شود، فقط نقشهای تأیید شده توسط کنترل کنندگان فرم، پذیرفته میشوند. هنگامی که فیلد User Role در فرم موجود نیست و یک هکر میتواند نقش کاربر یا user role را ارسال کند، در حالی که هیچ لیستی از نقشهای تأیید شده وجود ندارد و هر ورودی توسط کاربر، نیز پذیرفته خواهد شد.
این دو مسئله مطرح شده با هم ترکیب میشوند تا به هکرها و کاربران غیرمجاز این امکان را بدهند تا اکانتهای ادمین را در سایتهای آسیب پذیر وردپرسی ثبت کنند. و حالا این افراد با داشتن امتیازات ادمین سایت، میتوانند به طور موثری سایت را به دست بگیرند آن را از دسترس ادمین اصلی خارج کنند و همچنین میتواند بدافزار و ویروسها را در سایت رها کنند. چاره کار چیست؟ مقابله با حملات با بروزرسانی افزونهها گاهی بهترین راه ممکن است. اما این مسائل در نسخه Profile Builder version 3.1.1. رفع گردیدهاند. یعنی تنها راه رفع این مشکل بروزرسانی این افزونه است. لطفا بروزرسانی کنید!
افزونه Duplicator به مدیران سایت کمک میکند تا سایتهای وردپرس خود را از روی هاستی به هاست دیگر انتقال دهند یا و از سایت خود کپی کنند. بخشی از این قابلیتها شامل انتقال پایگاه داده و محتوای پروندهها به مکانی دیگر است. هنگامی که ادمین یک نسخه جدید از سایت خود ایجاد میکند، Duplicator به او اجازه میدهد تا فایلهای تولید شده را از داشبورد وردپرس خود بارگیری کند.
این به عنوان یک درخواست AJAX در رابط مدیر سایت Duplicator انجام میشود. دکمههای دانلود هر یک با عملکرد duplicator_download و file، تماس با کنترلر وردپرس AJAX را ایجاد میکنند، و موقعیت مکانی که بارگیری انجام شده است را نشان میدهد. در صورت کلیک، فایل درخواستی بارگیری میشود و کاربر، دیگر نیازی به بستن یا لود مجدد صفحه فعلی خود ندارد.
متأسفانه ، عملکرد این کد duplicator_download از طریق wp_ajax_nopriv_ ثبت شده است و در دسترس کاربران غیرمجاز خواهد گرفت. از آن بدتر این است که، هیچ اعتبارسنجی، مسیرهای بارگیری پرونده را محدود نکردهاند. پارامتر file از طریق sanitize_text_field منتقل
میشود و به پلاگین DUPLICATOR_SSDIR_PATH اضافه میگردد، اما رد و بدل کردن این موارد همچنان ممکن است. یک مهاجم میتواند با ارسال مقادیری مانند ../../../file.php ، به پروندههای خارج از فهرست در نظر گرفته شده توسط Duplicator دسترسی پیدا کند تا به ساختار پروندههای موجود در سرور دسترسی داشته باشد.
علاوه بر عملکرد AJAX، نقصهای یکسانی نیز در تابع ()duplicator_init وجود دارد، که توسط اشارهگر”init” وردپرس فراخوانی میشود. راه مقابله با این مسئله نیز بروزرسانی افزونه است.
پس حواستان باشد، اولا اطلاعات خوبی درباره افزونهای که نصب میکنید داشته باشید و هم به محض اینکه نسخه جدیدی داد آن را تست کرده و عملیات بروزرسانی افزونهها را انجام دهید تا مشکلات امنیتی را از سایت خود دور سازید.