امنیت سایتهای وردپرسی را بررسی میکنیم و نمونهای از آسیبپذیری افزونههای سیستم وردپرس را توضیح میدهیم.
سیستم مدیریت محتوا وردپرس بزرگترین و مهمترین ابزار برای ساخت و طراحی سایت بدون کد نویسی و دانشی در این باره است و بسیاری از سایتهای بزرگ و کوچک از این سیستم استفاده میکنند.
اما در رابطه با امنیت سایتهای وردپرسی موضوعاتی مطرح است. در اولین مسئله شک نکنید که امنیت وردپرس از سیستم های شخصی بهتر هست و دلیل آن فعالیت مستقیم چندین برنامه نویس خبره و فعالیت هزاران برنامه نویس دیگر به صورت غیر مستقیم است. زیرا وردپرس یک سیستم متنباز یا اوپن سورس هست که هرکسی میتواند پیشنهادات خود را مطرح بکند ، آپشنی اضافه کند و مشکل های امنیتی را گزارش یا برطرف کند.
پس به جرئت محصول کار هزاران متخصص خروجی بهتری از محصول تنها یک یا چند متخصص خواهد داشت.
اما هیچ سایت یا اپلیکیشنی بدون اشکال نیست و در مورد وردپرس نیز صدق میکند. موضوع اصلی که امنیت سایتهای وردپرسی را تهدید میکند نه خود سیستم بلکه پوستهها و افزونههای آن هستند. در وردپرس به صورت رایگان به هزاران افزونه و پوسته دسترسی دارید که بالاخره بعضی از آنان به عمد یا غیر عمد میتوانند امنیت سایت شما را به خطر بیاندازند.
برای مثال افزونه فرم تماس ۷ که آسیبپذیری آن را بررسی میکنیم. ( این بررسی جنبه فنی و آموزشی دارد و این باگ تا اکنون برطرف شده است)
آسیبپذیری که در افزونه فرم تماس 7 نسخه 5.3.1 وجود دارد به هکر دسترسیهای بسیار زیادی میدهد ، مثلا هکر از طریق این باگ میتواند فایلهای مدنظر خودش را بر روی سایت آپلود کند و از بدین صورت به سایت ، دیتابیس یا هر بخش دیگری دسترسی بگیرد.
"" پیشنهاد میشود آموزش و بررسی هک سایت از طریق باگهای LFI ، RFI و LFD را نیز مشاهده کنید. ""
برای استفاده از این آسیبپذیری کافیست اکسپلویت آن را در یکی از فیلد های آپلود فرم تماس بارگذاری کنید. یکی از اکسپلویت های آن را میتوانید در اینجا مشاهده کنید.
برای مثال هکر قصد دارد فایل شل خود را به نام (shell.php) در سایت آپلود کند اما سایت اجازه آپلود فایل با پسوند (php.) را نمیدهد ، در اینجا هکر با بایپس کردن آن به این صورت که کافیست یک کاراکتر null (U+0000) در آخر فرمت آن اضافه کند تا تابع wpcf_antiscript_file_name که مسئول این آسیب پذیری است که نام و فرمت فایل را بررسی میکند بایپس شود.
در پایان مختصر به راهکارهایی برای افزایش سایت وردپرسی اشاره میکنیم:
- بروزرسانی مداوم وردپرس
- بکاپگیری
- استفاده از پسورد قوی
- تغییر آدرس صفحه لاگین ادمین
- استفاده از کپچا
- محدود کردن تعداد دفعات ورود