این که وب سایتهای وردپرسی بخش عظیمی از وب سایتهای جهان را پوشش میدهد بر کسی پوشیده نیست. طبق آمار در سال ۲۰۲۲ این آمار بیش از ۴۳ درصد مل وب سایتهای جهان را تشکیل میدهد. این آمار باعث میشود که درصد حملات به این نوع وب سایتها بیشتر شود. این حملات راههای مختلفی دارد که در این مقاله به بررسی آنها میپردازیم.
اگر شما هم سایت وردپرسی دارید این مطلب برای برقراری امنیت سایت شما بسیار مفید است.
هک سایت وردپرسی یکی از خطرات فعلی خصوصا برای سایت هایی با بازدید بالا هستند زیرا یک شبه کل اطلاعات خود را از دست می دهند و هکرها با اقدامات گوناگون در کمین این گونه سایت ها می باشند.
وردپرس بزرگترین سیستم مدیریت محتوا در جهان با بیش از ۵۰۰۰۰ افزونه و تم است که به افراد حرفه ای و تازه کار اجازه می دهد تا وب سایت های شگفت انگیز و حرفه ای را به راحتی ایجاد کنند. اما با محبوبیت زیاد، پایگاه کاربری عظیم و گزینه های توسعه رایگان در دسترس، وردپرس اغلب هدف مجرمان سایبری است که از آسیب پذیریها برای ایجاد آسیب سوء استفاده میکنند.
آموزش هک وردپرس
آموزش هک وردپرس جزو مواردی هست که متاسفانه کاربران سو استفاده می کنند و برای همین هدف ما آموزش جلوگیری از نفوذ به این cms هست و در ادامه مطلب سعی کردیم موارد مختلفی برای شما آماده کنیم تا بتوانید دید کامل و جامع داشته باشید و از هک شدن سایت خود جلوگیری کنید.
علل هک شدن سایت وردپرسی
این سی ام اس بخاطر محبوب و در دسترس گسترده بودن مورد توجه هکرها است علل مختلفی برای هک شدن این مورد وجود دارد که در ذیل به برخی از این موارد اشاره کرده ایم:
- تعریف پسوردهای ضعیف توسط مدیران سایت
- هاست های غیر ایمن و ضعیف
- دسترسی بدون سطوح دسترسی به داشبورد برای هر مدل کاربری
- عدم تعریف مجوزهای دسترسی به فایل های موجود در هاست
- بروز نبودن به آخرین نسخه
- بروز نبودن افزونه ها و قالب فعلی مورد استفاده
- استفاده از پسورد و نام کاربری ساده و روتین مثل Admin و 123456
- استفاده از افزونهها و قالبهای نال شده
- در دسترس بودن فایل wp-config.php برای عموم
- عدم تغییر نام جداول پایگاه داده
10 دلیل هک شدن وب سایت وردپرسی چیست؟
اگر هر یک از موارد زیر برای شما اتفاق افتاد سریعا باید به فکر چاره کار باشید چون سایت شما هک شده است:
- تغییرات بی پایه و ناگهانی در ظاهر یا محتوای سایت
- مشاهده کاهش شدید ترافیک سایت در سرچ کنسول
- دریافت اخطار از شرکت هاستینگ
- دریافت اخطار از گوگل در صورت وصل بودن به سرچ کنسول یا آنالیتیکس (آموزش سرچ کنسول)
- عدم دسترسی به پنل ادمین
- ظاهر شدن ناگهانی ادمین جدید در سایت
- وجود فایل های ناشناس در هاست خصوصا در پوشه public_html
- پنالتی شدن سایت در گوگل (در بخش Security issues اخطار دریافت خواهید کرد)
- عدم امکان ارسال و دریافت ایمیل
- ارسال ایمیل انبوه از طریق هاست یا سرور فعلی شما
در اینجا ۷ مورد از قابل توجهترین انواع حملاتی که امروزه صفحات وردپرس را تحت تاثیر قرار میدهند و نحوه ایمن سازی در مقابل این حملات را آورده ایم:
حملات Brute Force برای هک وردپرس
این شکل از حمله بسیار زیبا نیست، اما ثابت کرده است که در برابر رمزهای عبور ضعیف و نامهای کاربری مانند «123»، «password» و «admin» بسیار مؤثر است.
با این حال، یک حمله ساده یک راه دفاع ساده دارد. نکات زیر را برای جلوگیری از این حمله رعایت کنید:
- رمزهای عبور طولانی
- ترکیبی از کاراکترهای عددی و الفبایی برای رمز عبور
- از کلمات فرهنگ لغت و کلمات مربوط به سایت یا شرکت خود برای رمز عبور اجتناب کنید
- از تعویضهای رمز آشکار مانند «Flat/Fl@t» اجتناب کنید
- احراز هویت دو مرحله ای را به عنوان یک لایه امنیتی اضافی اضافه کنید
نکته : یک قانون سرانگشتی این است که اگر به نظر میرسد که تعداد زیادی درخواست ورود تصادفی دریافت میکنید، به احتمال زیاد تحت یک حمله brute force قرار گرفتهاید.
Predictable Login Credentials برای هک وردپرس
یک روش نفوذ مانند Brute Force می باشد که از صفحات wp-admin با امنیت پایین، سوء استفاده می کند. پنل مدیریتی به کاربران امکان دسترسی به اقدامات مختلفی را در وب سایت وردپرس می دهد و در صورتی که هکر حتی به بخشی از آن دسترسی داشته باشد می تواند عملیات خرابکارانه زیادی روی سایت انجام دهد.
در مورد پنل فروشگاهی چیست؟ و چگونه با این پنل ها کار کنیم بیشتر بدانیم
این نوع حملات از ابزارهای Brute Force، برای تشخیص رمز عبور استفاده می کنند که از طریق لیست رمزهای فاش شده، سعی در پیش بینی رمزهای عبور ضعیف دارند. این حمله می تواند به wp-admin، کنترل پنل هاست، حساب های FTP، پایگاه داده SQL یا اکانت های ایمیل مرتبط با مدیر سایت وردپرسی، انجام گیرد.
با وجود گزینه های بسیار متنوعی که یک هکر می تواند برای نفوذ به سایت وردپرسی انتخاب کند، مهمترین نکته این است که هرگز از نام های کاربری مانند "admin" استفاده نکنید. برای دسترسی به بخش مدیریت وردپرس باید تدابیر امنیتی بیشتری در نظر بگیرید، مانند فعال کردن ورود دو مرحله ای یا 2FA یا ورود به پیامک که می تواند ورود غیرمجاز به مدیریت سایت را تا حد زیادی کاهش دهد.
همچنین تنظیم رمزهای عبور قوی برای تمامی کاربران سایت، بسیار مهم است. اگر از افزونه فایروال در وردپرس استفاده می کنید، لایه حفاظتی ایجاد شده توسط آن، می تواند درخواست های ارسال شده به wp-admin به جز IP هایی که از قبل در لیست مجاز قرار داده اید را مسدود کند.
آسیب پذیری های اصلی برای هک وردپرس
وردپرس منبع باز(open source) است و به کسب و کار شما اجازه میدهد هزینههای خود را کاهش دهید و فرصتهای نوآوری گستردهای را برای خود فراهم میکنید.
اما از آنجایی که کد منبع به راحتی قابل دستیابی است، مجرمان سایبری بالقوه میتوانند آسیب پذیری های اصلی را شناسایی کرده و از آنها سوء استفاده کنند.
یکی از سادهترین راهها برای قرار دادن سایت وردپرس در معرض حمله، ادامه استفاده نکردن از نسخههای بهروزشده وردپرس و همچنین اجرای نسخههای قدیمیتر زبان برنامهنویسی PHP است.
خوشبختانه توسعه دهندگانی وجود دارند که این سو استفادهها را شناسایی می کنند و برای حفظ امنیت سایت وردپرس شما اصلاحاتی ایجاد میکنند.
برای محافظت از سایت خود در برابر تهدیدات جدید و موجود، همیشه مطمئن شوید که آخرین بهروزرسانیها را نصب کردهاید. این کار را با ورود به حساب مدیریت وردپرس خود انجام دهید, به Dashboard / Updates بروید و وردپرس خود را به آخرین نسخه آپدیت کنید.
هک وردپرس با حملات SQL Injection
یکی از رایج ترین حملات وردپرس، یک فرد ممکن است با تزریق پرسوجوها یا عبارات مخرب SQL برای دستکاری پایگاه داده MySQL شما، به مدیر وردپرس شما آسیب برساند یا به آن دسترسی پیدا کند.
هر بخش ورودی کاربر در سایت وردپرس شما مانند فرم تماس یا کادر جستجو ممکن است در معرض حمله SQL Injection باشد.
تم ها و پلاگین ها ممکن است پیوند ضعیف شما برای حملات SQL Injection باشند، بنابراین مطمئن شوید که هر چیزی که نصب شده است از یک توسعه دهنده قابل اعتماد و قابل اعتماد است.
از آنجایی که نرمافزار پایگاه داده MySQL شما در برابر این نوع حمله آسیبپذیر است، مهم است که مطمئن شوید بهروزرسانیهای نرمافزار را دنبال میکنید و هرگز اجازه دسترسی به اعتبار MySQL خود را نمیدهید.
یکی از سادهترین ترفندها برای شکست دادن هکرهای اولیه، تغییر نام پیش فرض پایگاه داده وردپرس است. استفاده از یک نام پایگاه داده منحصربفرد تر، شناسایی جزئیات پایگاه داده شما را برای مجرمان سایبری دشوارتر می کند و به تمیز نگه داشتن قسمت پشتی سایت شما کمک می کند.
آسیب پذیری پلاگین ها و تم ها در وردپرس
پلاگین و تم ها روشی فوق العاده برای افزودن قابلیت به صفحات وردپرس یا ایجاد ظاهری منحصربهفرد هستند. اما افزونه ها به دلیل اتکای آنها به توسعه دهندگان برای بهروز بودن ضعفها و سوء استفادههای امنیتی، نقطه ورود مکرر حملات وردپرس هستند.
یک افزونه قدیمی ممکن است در معرض حمله قرار گیرد، بنابراین در اینجا چند نکته برای محافظت از صفحه شما وجود دارد:
- همیشه افزونه های خود را از داشبورد وردپرس به روز کنید
- از Plugin Security Scanner موجود در Dashboard > Tools برای شناسایی مشکلات احتمالی افزونه های فعلی خود استفاده کنید
نکته : اگر افزونه ای بیش از 6 ماه به روز نشده باشد، ممکن است توسعه دهنده آن را رها کرده باشد. این پلاگین ها بیشتر در برابر سوء استفادهها آسیبپذیر هستند و بهتر است به طور کامل از استفاده آنها اجتناب کنید.
هک وردپرس با Cross Site Scripting
این یک نوع حمله دیگری است که به طور منظم دیده می شود و اغلب به عنوان حمله XSS شناخته میشود.
حمله XSS آپلود بیصدا کد جاوا اسکریپت مخرب توسط یک مجرم سایبری با هدف جمعآوری دادهها بدون اطلاع کاربر یا هدایت مجدد به سایت دیگری است.
روشهای فیشینگ مانند اشتراک در خبرنامه یا پستهای انجمن، انواع رایج حملات XSS هستند.
بهترین راه برای جلوگیری از این حمله، اطمینان از روشهای صحیح اعتبارسنجی دادهها در کل سایت وردپرس شما است. اعتبارسنجی مهارت مهمی است که برای امنیت مناسب لازم است و اساساً به معنای بررسی این است که همه دادههای وب سایت شما با آنچه انتظار دارید مطابقت داشته باشد.
وردپرس دارای چندین توابع توسعه دهنده فوق العاده برای پاکسازی دادهها است، اما برای کسانی که شروع به اسکریپت نویسی میکنند، چند افزونه وردپرس XSS وجود دارد که به محافظت در برابر تزریق کد کمک می کند. برخی از افزونه های وردپرس میتوانند با ارائه عملکردهای امنیتی برای مسدود کردن و جلوگیری از آسیب پذیریها به جلوگیری از حملات XSS کمک کنند.
هک وردپرس با حملات DDos
حملات DDoS یکی از حملاتی است که امروزه بیشتر مورد بحث قرار می گیرد که بیمارستان ها، بانک ها و سازمان های برجسته در سراسر جهان مانند سونی، نتفلیکس و آمازون را فلج کرده است.
Distributed Danial Of Service (DDoS) زمانی اتفاق می افتد که یک وب سرور با حجم زیادی از درخواست ها بمباران می شود که در نهایت سرور از کار می افتد.
حملات DDoS بسیار سازماندهی شده هستند و وب سایت های کوچک و بزرگ را هدف قرار می دهند.
در حالی که حملات DDoS اغلب به خوبی پنهان می شوند و کنترل آنها دشوار است، ابزارهای مختلفی برای جلوگیری و توقف حمله وجود دارد.
یک حمله DDos قدرتمند است اما راه هایی برای دفاع از وب سایت خود وجود دارد مانند:
- برای کاهش تعداد درخواستها، میتوانید APIهای مورد سوء استفاده را در طول حمله غیرفعال کنید
- غیرفعال کردن برنامه های شخص ثالث برای تعامل با صفحه وردپرس شما نیز ممکن است کمک کننده باشد
- استفاده از پلاگینهایی که به طور خودکار IP هایی را که فعالیتهای مشکوک انجام میدهند مسدود میکنند
اما برای جلوگیری از حمله، فعال کردن فایروال برنامه وب سایت می تواند درخواست های مشکوک را شناسایی کرده و از دسترسی آنها به وب سایت شما جلوگیری کند.
در میان سایر ویژگیها، افزونه Search Improvement Console وردپرس IPهایی را که درخواستهای خاصی را که شما تنظیم کردهاید جستجو میکنند، مسدود میکند.
این یک خط دفاعی عالی در هنگام برخورد با حملاتی که از ماشینهای خاص انجام می شود، ایجاد میکند.
هک وردپرس با بد افزارها
یکی از معمول ترین اهداف یک مهاجم سایبری، آپلود بدافزار بر روی دستگاه کاربر است و محبوبیت وردپرس آن را به یک هدف محبوب تبدیل میکند.
مجرمان سایبری که قصد بارگذاری بدافزار را دارند، اغلب صفحات وردپرس را با استفاده از نسخه های قدیمی اسکن می کنند زیرا می توانند از آسیب پذیری های محافظت نشده سوء استفاده کنند. این یک دلیل قدرتمند دیگر برای حفظ به روز رسانی وردپرس و افزونهها و پلاگینهای مورد استفاده در سایت وردپرسی شماست.
برای دفاع از خود در برابر بدافزارها، افزونههایی برای اسکن و شناسایی بدافزارها و کدهای مخرب در صفحه شما وجود دارد. برخی از افزونههای برتر حتی میتوانند بدافزار را حذف کرده و منبع آسیب پذیری شما را شناسایی کنند.
به یاد داشته باشید که همیشه بهروزرسانیها را بررسی کنید و یک VPN با آخرین محافظت از نشت DNS، احراز هویت SSL و پروتکلهای رمزگذاری نصب کنید تا شبکه و دستگاههای خود را ایمن نگه دارید.
مطمئن شوید که یک پلاگین پشتیبان وردپرس با پشتیبان گیری برنامه ریزی شده منظم نصب کرده اید.
چگونه یک گواهی SSL رایگان در وردپرس تنظیم کنیم یک آموزش خوب برای راه اندازی ssl در وردپرس برای شماست.
روشهایی که منجر به هک وب سایت وردپرسی می شود:
روشهایی که منجر به هک وب سایت وردپرسی شما خواهد شد به شکل زیر است که اگر آنها را رعایت کنید تا حدود زیادی امنیت وب سایت خود را افزایش میدهید.
دسترسی به فایل wp-config.php
wp-config.php حاوی اطلاعات حساسی است که برای ورود به پایگاه داده وردپرس استفاده می شوند. اکثر شرکت های هاستینگ، مدیریت پایگاه داده از راه دور را مسدود می کنند، مگر اینکه IP درخواست کننده از طریق cPanel یا WHM در لیست مجاز قرار گرفته باشد. جزئیات موجود در wp-config.php بسیار حساس هستند و به بهترین وجه می بایست محافظت شوند. افزودن یک لایه حفاظتی اضافی برای ممانعت از دسترسی به این فایل، جهت کاهش خطرات امنیتی مفید است. برای انجام این کار، کد زیر را به فایل htaccess. اضافه کنید:.
<files wp-config.php>
order allow,deny
deny from all
</files>
عدم تغییر نام پیشوند جدول
بسیاری از کارشناسان توصیه می کنند که پیشوند جداول وردپرس را تغییر دهید. به طور پیش فرض، وردپرس از wp_ به عنوان پیشوند برای جداول ایجاد شده در پایگاه داده استفاده می کند. شما یک گزینه برای تغییر آن در طول نصب وردپرس خواهید داشت. توصیه می شود از یک پیشوند استفاده کنید که کمی پیچیده تر است.
استفاده از FTP ساده به جای SFTP / SSH
حساب های FTP برای آپلود فایل ها به سرور وب خود با استفاده از یک سرویس گیرنده FTP استفاده می شود. بیشتر ارائه دهندگان میزبانی از اتصالات FTP با استفاده از پروتکل های مختلف پشتیبانی می کنند. شما می توانید با استفاده از FTP، SFTP یا SSH ساده متصل شوید.
هنگامی که شما با استفاده از FTP ساده به سایت خود متصل می شوید، رمز عبور شما به سرور رمزگذاری نشده ارسال می شود. می توان آن را جاسوسی و به راحتی به سرقت برد. به جای استفاده از FTP، همیشه باید از SFTP یا SSH استفاده کنید.
شما نمی خواهید کاربر FTP خود را تغییر دهید. بیشتر کاربران FTP می توانند به SFTP و همچنین SSH به وب سایت شما متصل شوند. شما فقط باید پروتکل SFTP-SSH را هنگام اتصال به وب سایت خود تغییر دهید.
مجوز فایل نادرست
مجوزهای فایل مجموعه ای از قوانین استفاده شده توسط وب سرور شما می باشد. این مجوزها دسترسی به فایلهای سایت شما را کنترل می کنند. اجازه دسترسی به پرونده های اشتباه می تواند به دسترسی هکرها به نوشتن و تغییر این فایل ها کمک کند.
تمام فایل های وردپرس شما باید دارای مجوز 644 باشند. تمام پوشه ها در سایت وردپرس شما باید مجوز 755 داشته باشند.
میزبانی وب ناامن
مانند همه وب سایت ها، سایت های وردپرس در یک سرور وب میزبانی می شوند. برخی از شرکت های میزبانی وب به درستی پلاتفرم میزبانی خود را امن نمی کنند. این باعث می شود همه ی وب سایت ها در سرور های خود آسیب پذیر باشند تا هکرها به راحتی بتوانند از این راه نفوذ کنند.
این مورد را می توان به راحتی با انتخاب بهترین ارائه دهنده هاست وردپرس برای وب سایت خود حل کرد. این تضمین می کند که سایت شما در یک پلت فرم امن ذخیره می شود. سرورهای مناسب امن می توانند بسیاری از حملات رایج را بر روی سایت های وردپرس متوقف کنند.
باگ امنیتی wp/v2/users
یک باگ مهم در وردپرس وجود دارد که میشود توسط این باگ نام کاربری و همچنین مشخصات پروفایل ادمین رو به دست آورد (البته به جز رمز عبور)
شاید شما تصور کنید که اگر رمز ورودی پنل رو یه چیزی بزارید که قابل حدس نباشه حتما رمز عبور شما از امنیت بالایی برخوردار هست مثلا رمز شما miladvakilializadehyekpanj باشد و بگویید خب هم تعداد کاراکتر زیاد است هم یک رمزی است که کسی نمیتواند آن را حدس بزند اما اصلا اینطوری نیست این پسورد رو میشود با سیستم عاملهایی مثل لینوکس شاخهی کالی لینوکس به راحتی به دست آورد (البته شایان ذکر است که این کار به همین راحتی نیست و نیاز به افراد کار کشته داره اما این را هم بدانید که پیدا کردن رمز عبور شما امکان پذیر است. رمز عبور و پسورد و اهمیت حفاظت از آن)
ابتدا ادرس دامنه را وارد کنید سپس در آخر آدرس عبارت wp-json/wp/v2/users رو وارد کنید
برای مثال : websitename.com/wp-json/wp/v2/users اگر این باگ توسط برنامه نویس آن سایت حل نشده باشد خواهید دید که اطلاعات ورود ادمین از جمله یوزر / ایمیل / در صورتی که شمارتونو بزنید شماره تماس و اگر رزومه ای نوشته باشید اونوقت رزومه شما را نمایش خواهد داد.
حال برای رفع این مشکل کافی است وارد مسیر publice_html شوید سپس وارد پوشهی wp-content شوید سپس وارد پوشهی themes شوید سپس وارد پوشهی قالبی که فعال کردید شوید سپس در داخل آن فایلی به اسم functions.php وجود دارد آن را ادیت کنید و در آخر کدها کدی که در زیر مشاهده می کنید را قرار دهید.
add_filter( 'rest_endpoints', function( $endpoints ){
if ( isset( $endpoints['/wp/v2/users'] ) ) {
unset( $endpoints['/wp/v2/users'] );
}
if ( isset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] ) ) {
unset( $endpoints['/wp/v2/users/(?P<id>[\d]+)'] );
}
return $endpoints;
});
حالا دوباره وارد آدرس باگ وردپرس شوید خواهید دید که با ارور 404 مواجه خواهید شد و هیچ دیتایی برای شما نمایش داده نمیشود.
در این مقاله در مورد وردپرس صحبت شد دقت کنید که بهتر است در مورد CMS یا سیستم مدیریت محتوا چیست؟ مطالعه داشته باشید.
هک سایت وردپرس عموما از طریق افزونه های مخرب اتفاق می افتد به این آمار دقت کنید که چه مواردی جزو باگ های این cms برای نفوذ بوده است:
نوع و مدل | درصد |
باگ افزونه ها | 60% |
نسخه قدیمی php | 20% |
عدم آپدیت خود وردپرس | 20% |
دقت کنید در این جدول فقط خود وردپرس و زبان php مطالعه و آمار ارائه گردیده است و مشکلات سرور یا هاست در این مورد جرو آمار نیست.