به تازگی حملاتی به سایتهای وردپرسی مشاهده شده که پس از تحقیق و بررسیهای پیاپی مشکل کشف شد. این مشکلات از سمت افزونه Easy WP SMTP است که سایت وردپرسی را در معرض خطر حمله با تزریق کدهای مخرب در آن، قرار میدهد. اما چگونه از این خطر حمله به وردپرس دور بمانیم؟ پاسخ شما بسیار ساده است! با بروزرسانی افزونه Easy WP SMTP در وردپرس!
شاید بعضی از دوستان با این افزونه آشنا نباشند. “افزونه Easy WP SMTP امکان پیکربندی و ارسال ایمیلهای خارجی از طریق یک سرور SMTP را میدهد. این امر باعث جلوگیری از ارسال ایمیلها به پوشههای Junk یا Spam میشود. ”
آسیبپذیری که در این افزونه یافت شد از ۱۵ مارس توسط هکرها مورد سوء استفاده قرار گرفت و توسط فایروال افزونه Ninjafirewall به دام افتاد.
دستور ()admin_init در قطعه کد بالا که از اسکریپت افزونه است، زمانی که کاربر به پیشخوان مدیریت دسترسی دارد، توسط admin_init اجرا میشود. این مورد باید با درونریزی یا برونبری در پیکربندی افزونه و بروز رسانی تنظیمات آن در پایگاه داده مشاهده و حذف شود. این قابلیت سطح دسترسی کاربر را بررسی نمیکند، از این رو هر کاربر وارد شده میتواند به عنوان یک مشترک باشد. اما این مورد میتواند عملیاتی را برای انجام توسط کاربران غیرمجاز و نامعتبر اجرا کند و همین موضوع خطر حمله به وردپرس را دامن میزند. زیرا افزونه Easy WP SMTP ممکن است بصورت ایجکسی و در admin_init اجرا شود. این موضوع اینگونه در WordPress API توصیف شده است:
توجه داشته باشید، این مشکل فقط بر روی نمایشگرهای مدیریت شده کاربر اجرا نشده بلکه بر روی admin-post.php و admin-ajax.php نیز ظاهر خواهد شد.
بنابراین، کاربران غیرمجاز توانایی ارسال درخواستهای ایجکسی مانند action=swpsmtp_clear_log را برای اجرای عملکرد بالا دارند. همین امر خطر حمله به وردپرس را به وجود میآورد.
برای اثبات مفهومی که در این محتوا در مورد آن صحبت میکنیم، از swpsmtp_import_settings برای بارگذاری فایلهایی که حاوی سریالهای مخرب هستند و باعث فعال شدن ثبتنام کاربران میشوند استفاده کردیم. همچنین نقش کاربر را بصورت پیشفرض “مدیر” در پایگاه داده قرار دادیم.
۱- فایلی با عنوان “tmp/upload.txt/” ایجاد کنید و اطلاعات زیر را در آن وارد نمایید:
a:2:{s:4:"data";s:81:"a:2:{s:18:"users_can_register";s:1:"1";s:12:"default_role";s:13:"administrator";}";s:8:"checksum";s:32:"3ce5fb6d7b1dbd6252f4b5b3526650c8";}
۲- فایل زیر را بارگذاری کنید:
$ curl https://VICTIM.COM/wp-admin/admin-ajax.php -F 'action=swpsmtp_clear_log' -F 'swpsmtp_import_settings=1' -F 'swpsmtp_import_settings_file=@/tmp/upload.txt'
آسیبهای دیگر نیز هستند که میزان خطر حمله به وردپرس را افزایش داده و مورد سوء استفاده افراد مخرب قرار میگیرند که عبارت است از:
نکته جالب اینجاست که هکرها از این آسیبپذیری برای تغییر محتوا و دادههای وردپرس مانند جدول wp_user_roles در پایگاه داده و توانایی دسترسی مدیر به تمامی کاربران، استفاده میکنند. متاسفانه تغییر اکانت مدیر به راحتی در بخش کاربری شناسایی میشود. جالبتر اینجاست که تشخیص این تغییرات کار بسیار سختی است زیرا اکانت کاربری یک مدیر دقیقا مانند یک کاربر مشترک است فقط در بکگراند کار مشخص میشود که سطح دسترسی آن بسیار گسترده است.
اولین و مهمترین توصیهای که برایتان داریم این است که با شتاب هر چه بیشتر افزونه Easy WP SMTP را در جهت حفظ امنیتوردپرس، بروزرسانی کنید. سپس به موارد زیر توجه کنید:
اطلاعات بیشتر مقاله خطر حمله به وردپرس را در همیار وردپرس بخوانید.