این که وب سایتهای وردپرسی بخش عظیمی از وب سایتهای جهان را پوشش میدهد بر کسی پوشیده نیست. طبق آمار در سال ۲۰۲۲ این آمار بیش از ۴۳ درصد وب سایتهای جهان را تشکیل میدهد. این آمار باعث میشود که درصد حملات به این نوع وب سایتها بیشتر شود. این حملات راههای مختلفی دارد که در این مقاله به بررسی آنها میپردازیم.
اگر شما هم سایت وردپرسی دارید این مطلب برای برقراری امنیت سایت شما بسیار مفید است.
هک سایت وردپرسی
هک سایت وردپرسی یکی از خطرات فعلی خصوصا برای سایت هایی با بازدید بالا هستند زیرا یک شبه کل اطلاعات خود را از دست می دهند و هکرها با اقدامات گوناگون در کمین این گونه سایت ها می باشند.
وردپرس بزرگترین سیستم مدیریت محتوا در جهان با بیش از ۵۰۰۰۰ افزونه و تم است که به افراد حرفه ای و تازه کار اجازه می دهد تا وب سایت های شگفت انگیز و حرفه ای را به راحتی ایجاد کنند. اما با محبوبیت زیاد، پایگاه کاربری عظیم و گزینه های توسعه رایگان در دسترس، وردپرس اغلب هدف مجرمان سایبری است که از آسیب پذیریها برای ایجاد آسیب سوء استفاده میکنند.
وردپرس به دلیل گستردگی استفاده، هدف رایج حملات است. هک زمانی اتفاق میافتد که یک باگ یا ضعف امنیتی در هسته وردپرس، افزونهها، قالب یا پیکربندی سرور وجود داشته باشد. این ضعفها میتوانند به مهاجم اجازه دسترسی غیرمجاز به فایلها، پایگاه داده یا پنل مدیریت بدهند.
آموزش هک وردپرس
آموزش هک وردپرس جزو مواردی هست که متاسفانه کاربران سو استفاده می کنند و برای همین هدف ما آموزش جلوگیری از نفوذ به این cms هست و در ادامه مطلب سعی کردیم موارد مختلفی برای شما آماده کنیم تا بتوانید دید کامل و جامع داشته باشید و از هک شدن سایت خود جلوگیری کنید. روش های مختلف هک این cms یا آسیبپذیری وردپرس و راهحلها به صورت ذیل می باشد:
-
باگ در افزونهها (Plugins)
-
مثال: افزونههایی مانند RevSlider و WP File Manager دارای باگهایی بودند که منجر به RCE (اجرای کد از راه دور) شدند.
-
جلوگیری: استفاده فقط از افزونههای معتبر، بهروزرسانی منظم، حذف افزونههای غیرضروری.
-
-
باگ در قالبها (Themes)
-
مثال: قالبهای نالشده معمولاً دارای backdoor هستند.
-
جلوگیری: استفاده از قالبهای اورجینال و بهروزرسانی آنها.
-
-
رمز عبور ضعیف
-
مثال: استفاده از رمزهایی مانند
123456
یاadmin123
باعث حمله Brute Force میشود. -
جلوگیری: استفاده از رمز عبور قوی، فعالسازی محدودیت ورود (Login Limit) یا reCAPTCHA.
-
-
آپلود فایل مخرب
-
مثال: افزونههایی که اجازه آپلود بدون فیلتر MIME Type میدهند.
-
جلوگیری: فیلتر کردن نوع فایل، استفاده از افزونههای امنیتی مثل Wordfence یا iThemes Security.
-
-
حملات SQL Injection
-
مثال: برخی افزونهها ورودی کاربران را بدون پاکسازی وارد کوئری SQL میکنند.
-
جلوگیری: استفاده از افزونههای امن، بررسی کد اختصاصی با استفاده از
$wpdb->prepare()
.
-
-
حملات XSS (Cross-Site Scripting)
-
مثال: امکان وارد کردن اسکریپت در فیلدهای فرم تماس.
-
جلوگیری: پاکسازی (sanitize) ورودیها و استفاده از توابع
esc_html()
وwp_kses()
.
-
-
دسترسی به فایلهای حساس (مثل wp-config.php)
-
مثال: پیکربندی نادرست سرور باعث نمایش یا دانلود فایلهای حساس میشود.
-
جلوگیری: محدودسازی دسترسی با
.htaccess
یا تنظیمات nginx، عدم نگهداری فایلهای پشتیبان روی هاست.
-
-
نسخه قدیمی وردپرس
-
مثال: استفاده از نسخههای قدیمی که حفره امنیتی شناختهشده دارند.
-
جلوگیری: آپدیت خودکار یا دستی هسته وردپرس.
-
-
دسترسی از طریق XML-RPC
-
مثال: حملات Brute Force با XML-RPC به صورت گسترده انجام میشود.
-
جلوگیری: غیرفعالسازی کامل XML-RPC اگر نیاز ندارید، یا استفاده از افزونههایی که آن را محدود میکنند.
-
-
دسترسی به داشبورد با نام کاربری قابل حدس
-
مثال: استفاده از نام کاربری
admin
در وردپرس. -
جلوگیری: انتخاب نام کاربری غیر قابل حدس، محدودسازی IP برای ورود به
/wp-admin
.
-
آموزش نفوذ به سایت وردپرس
اگر برای جلوگیری از هک سایت خود نیاز دارید آموزش نفوذ به سایت وردپرس را یاد بگیرید بهتر است ادامه مطالب را مطالعه کنید تا دقیق به این موارد تسلط پیدا کنید.
علل هک شدن سایت وردپرسی
این سی ام اس بخاطر محبوب و در دسترس گسترده بودن مورد توجه هکرها است علل مختلفی برای هک شدن این مورد وجود دارد که در ذیل به برخی از این موارد اشاره کرده ایم:
- تعریف پسوردهای ضعیف توسط مدیران سایت
- هاست های غیر ایمن و ضعیف
- دسترسی بدون سطوح دسترسی به داشبورد برای هر مدل کاربری
- عدم تعریف مجوزهای دسترسی به فایل های موجود در هاست
- بروز نبودن به آخرین نسخه
- بروز نبودن افزونه ها و قالب فعلی مورد استفاده
- استفاده از پسورد و نام کاربری ساده و روتین مثل 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 و پروتکلهای رمزگذاری نصب کنید تا شبکه و دستگاههای خود را ایمن نگه دارید.
مطمئن شوید که یک پلاگین پشتیبان وردپرس با پشتیبان گیری برنامه ریزی شده منظم نصب کرده اید.
روشهایی که منجر به هک وب سایت وردپرسی می شود:
روشهایی که منجر به هک وب سایت وردپرسی شما خواهد شد به شکل زیر است که اگر آنها را رعایت کنید تا حدود زیادی امنیت وب سایت خود را افزایش میدهید.
-
دسترسی به فایل 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 برای نفوذ بوده است:
نوع و مدل | درصد |
باگ افزونه ها | 60% |
نسخه قدیمی php | 20% |
عدم آپدیت خود وردپرس | 20% |
دقت کنید در این جدول فقط خود وردپرس و زبان php مطالعه و آمار ارائه گردیده است و مشکلات سرور یا هاست در این مورد جرو آمار نیست.
آموزش تست نفوذ وردپرس
روش های مختلفی برای نفوذ وجود دارد و هر کدام نیازمند شرایطی می باشد که ما اینجا برای شما آموزش تست نفوذ وردپرس را دقیق آماده کردیم تا برای سایت خود استفاده کنید و راه های نفوذ را مسدود کنید.
تست Brute Force برای ورود به پنل مدیریت
-
هدف: بررسی امکان نفوذ به حسابهای کاربری با استفاده از حمله Brute Force (تست تعداد زیادی از نامهای کاربری و رمز عبور).
-
ابزار: Hydra یا WPScan.
مثال عملی:
-
نصب ابزار WPScan:
sudo apt install wpscan
-
تست حمله Brute Force برای بررسی نامهای کاربری و رمز عبور:
wpscan --url https://example.com --enumerate u
این دستور فهرستی از نامهای کاربری احتمالی را استخراج میکند.
-
حمله Brute Force برای آزمودن رمز عبور:
wpscan --url https://example.com --passwords /path/to/passwords.txt --usernames admin
در اینجا، لیستی از رمزهای عبور در فایل
passwords.txt
امتحان میشود تا به حسابadmin
نفوذ شود.
جلوگیری: استفاده از رمز عبور پیچیده، فعالسازی محدودیتهای ورود (مانند تعداد تلاشهای ورود محدود).
بررسی آسیبپذیریهای افزونهها
-
هدف: بررسی افزونهها برای شناسایی باگها و آسیبپذیریها.
-
ابزار: WPScan (برای جستجوی آسیبپذیریهای شناختهشده در افزونهها).
مثال عملی:
-
اسکن افزونهها با WPScan:
wpscan --url https://example.com --enumerate p
این دستور افزونههای نصبشده روی سایت را شناسایی کرده و آنها را با پایگاه داده آسیبپذیریهای شناختهشده مقایسه میکند.
-
بررسی آسیبپذیریها برای افزونه خاص: اگر نام افزونه بهعنوان مثال
revslider
باشد، میتوانید آسیبپذیریهای شناختهشده آن را بررسی کنید:wpscan --url https://example.com --plugins-detection aggressive
جلوگیری: استفاده از افزونههای معتبر، بهروزرسانی مداوم افزونهها.
SQL Injection
-
هدف: بررسی امکان دسترسی به پایگاه داده از طریق ورودیهای غیر ایمن در فرمها یا URLها.
-
ابزار: SQLmap یا Burp Suite.
مثال عملی:
-
استفاده از SQLmap برای تست آسیبپذیری SQL Injection:
sqlmap -u "https://example.com/product?id=1" --dbs
این دستور تست میکند که آیا ورودی پارامتر
id
به پایگاه داده آسیبپذیر است یا خیر و در صورت آسیبپذیری، دیتابیسها را شناسایی میکند. -
مراحل تست SQL Injection با Burp Suite:
-
Burp Suite را راهاندازی کنید و مرورگر خود را به پروکسی Burp متصل کنید.
-
درخواستهای ورودی را از طریق Burp Suite نظارت کنید و پارامترهای ورودی را آزمایش کنید.
-
از ویژگی Intruder برای ارسال ورودیهای مخرب SQL استفاده کنید.
-
جلوگیری: استفاده از توابع ایمن برای پردازش ورودیها (مثل $wpdb->prepare()
)، و استفاده از افزونههای امنیتی.
Cross-Site Scripting (XSS)
-
هدف: شبیهسازی حملات XSS برای تزریق اسکریپتهای مخرب به سایت.
-
ابزار: Burp Suite یا OWASP ZAP.
مثال عملی:
-
تست XSS با Burp Suite:
-
از Burp Suite برای بررسی ورودیهای کاربر (مثل فیلدهای فرم تماس) استفاده کنید.
-
برای تست XSS، اسکریپتهای ساده را وارد کنید:
<script>alert('XSS');</script>
-
اگر اسکریپت اجرا شود، سایت آسیبپذیر است.
-
-
استفاده از OWASP ZAP برای تست XSS: OWASP ZAP به شما این امکان را میدهد که از طریق Spider و Active Scan به دنبال آسیبپذیریهای XSS بگردید.
جلوگیری: استفاده از توابع پاکسازی ورودیها مانند wp_kses()
, esc_html()
و esc_attr()
.
بررسی دسترسی به فایلهای حساس
-
هدف: بررسی دسترسی به فایلهای حساس مانند
wp-config.php
. -
ابزار: Burp Suite یا Nikto.
مثال عملی:
-
تست دسترسی به فایلهای حساس با Nikto:
nikto -h https://example.com
این ابزار بهطور خودکار بررسی میکند که آیا سایت به فایلهای حساس دسترسی دارد یا خیر.
-
تست دسترسی به
wp-config.php
با Burp Suite: در Burp Suite، درخواستهایی برای دسترسی بهwp-config.php
ارسال کنید:https://example.com/wp-config.php
اگر فایل نمایش داده شود، این یعنی سرور بهدرستی پیکربندی نشده است.
جلوگیری: استفاده از فایلهای حساس در خارج از دایرکتوریهای وبسرور، و اعمال محدودیتهای دسترسی در تنظیمات سرور.
رفع هک وردپرس
برای رفع هک وردپرس، اقداماتی که باید انجام دهید بهطور کلی شامل شناسایی منبع حمله، پاکسازی سایت، تقویت امنیت و جلوگیری از حملات آینده است. در اینجا مراحل دقیق و گام به گام برای رفع هک برای شما آماده شده است:
-
تشخیص حمله
-
بررسی دسترسیها و فایلهای مشکوک: چک کنید که آیا فایلهای مخرب به سرور آپلود شدهاند یا خیر. در سرور به دنبال فایلهایی با نامهای مشکوک یا تاریخ تغییرات غیرعادی بگردید.
-
بررسی دسترسیهای اکانتها: بررسی کنید که آیا کاربران غیرمجاز به سایت وارد شدهاند. از داشبورد وردپرس، بررسی کنید که آیا اکانتهای جدیدی به سیستم اضافه شدهاند.
-
بررسی وضعیت سایت: اگر سایت دچار تغییرات غیرمنتظره شده است (مثل تغییر در محتوای سایت یا ریدایرکتها)، این نشانههایی از هک شدن هستند.
-
-
قطع ارتباط با اینترنت
-
سایت را موقتا غیرفعال کنید: بهمنظور جلوگیری از آسیب بیشتر، سایت را بهصورت موقت از دسترس خارج کنید یا به حالت "Under Construction" تغییر دهید. این کار به محافظت از کاربران و جلوگیری از آسیب بیشتر کمک میکند.
-
-
ایجاد نسخه پشتیبان از سایت و پایگاه داده
-
قبل از انجام هر کاری، از سایت خود نسخه پشتیبان تهیه کنید. این نسخه باید شامل تمامی فایلها و پایگاه داده باشد تا در صورت نیاز به بازیابی اطلاعات، از آن استفاده کنید.
-
از ابزارهای مدیریت هاست مانند cPanel یا از طریق SSH برای گرفتن پشتیبان استفاده کنید.
-
-
حذف فایلهای مخرب
-
جستجو و حذف فایلهای مشکوک: فایلهایی که توسط هکرها آپلود شدهاند یا فایلهای سیستم که تغییر داده شدهاند (مانند
wp-config.php
یا فایلهای هستهای وردپرس)، باید بررسی و حذف شوند. -
استفاده از افزونههای امنیتی: ابزارهایی مانند Wordfence یا iThemes Security میتوانند بهطور خودکار فایلهای مخرب را شناسایی کنند و به شما کمک کنند تا آنها را حذف کنید.
-
-
بازیابی سایت از نسخه پشتیبان سالم
-
بازیابی پایگاه داده و فایلها: در صورتی که نسخه پشتیبان سالمی دارید، میتوانید سایت را از آن بازیابی کنید. این مرحله بهویژه وقتیکه هکرها به پایگاه داده دسترسی پیدا کردهاند اهمیت دارد.
-
مطمئن شوید که نسخه پشتیبان بهروزرسانی شده و امن باشد.
-
-
تغییر رمزهای عبور
-
تغییر رمزهای عبور: تمامی حسابهای مدیریت (مثل اکانتهای وردپرس، FTP، phpMyAdmin، cPanel) باید بلافاصله تغییر یابند. از رمزهای عبور پیچیده و منحصر به فرد استفاده کنید.
-
فعالسازی احراز هویت دو مرحلهای: برای امنیت بیشتر، احراز هویت دو مرحلهای (2FA) را برای وردپرس و سایر حسابها فعال کنید.
-
-
بهروزرسانی وردپرس، افزونهها و قالبها
-
بهروزرسانی هسته وردپرس: اطمینان حاصل کنید که نسخه وردپرس شما آخرین نسخه است.
-
بهروزرسانی افزونهها و قالبها: تمامی افزونهها و قالبهای سایت را به جدیدترین نسخهها بهروزرسانی کنید. همچنین افزونهها و قالبهای غیرفعال و قدیمی را حذف کنید.
-
-
اسکن کامل امنیتی سایت
-
اسکن با افزونههای امنیتی: از ابزارهایی مانند Wordfence یا Sucuri برای اسکن کامل سایت و شناسایی آسیبپذیریها استفاده کنید. این افزونهها میتوانند فایلهای مخرب و تغییرات ناخواسته را شناسایی کنند.
-
-
جلوگیری از حملات آینده
-
محدود کردن دسترسیها: دسترسی به
/wp-admin
را محدود کنید. میتوانید این کار را از طریق تنظیمات فایل.htaccess
انجام دهید. -
پیکربندی مجدد سرور: با بررسی و اصلاح تنظیمات سرور، از دسترسیهای غیرمجاز به سایت جلوگیری کنید. بهعنوان مثال، فایلهای حساس مانند
wp-config.php
را در خارج از دایرکتوری عمومی قرار دهید. -
استفاده از افزونههای امنیتی: نصب افزونههای امنیتی مانند Wordfence یا iThemes Security برای نظارت بر فعالیتهای مشکوک و جلوگیری از حملات.
-
فعالسازی Firewall وبسایت: استفاده از فایروالها مانند Cloudflare یا Sucuri که میتوانند از حملات DDoS و دیگر حملات جلوگیری کنند.
-
تغییر پیشفرضهای وردپرس: نام کاربری پیشفرض (مانند
admin
) را تغییر دهید و دسترسی به برخی بخشها را محدود کنید.
-
-
آزمایش سایت بعد از بازیابی
-
بررسی عملکرد سایت: پس از رفع هک، عملکرد سایت را بررسی کنید و مطمئن شوید که همه چیز به درستی کار میکند.
-
بررسی فایلهای سایت: از ابزارهایی مثل WPScan یا Sucuri برای بررسی آسیبپذیریها و فایلهای مشکوک استفاده کنید.
-