هک شدن وردپرس با URL injection و راه‌های مقابله با آن

هک شدن وردپرس با URL injection
هک شدن وردپرس با URL injection

اگر حداقل از یکی از افزونه‌های امنیتی وردپرس استفاده نمی‌کنید و سایت وردپرسی شما نیز هک شده است، این امر خیلی دور از ذهن نیست. چرا که این افزونه‌ها جلوی حملات مخرب بد افزارها را می‌گیرند و هک شدن سایت وردپرسی معمولا زمانی رخ می‌دهد که شما کاملا بی‌توجه و بی احتیاط هستید.
چندی پیش که روی یکی از سایت‌های وردپرسی که هک شده بود، کار می‌کردیم، متوجه شدیم که یکی از اسکریپت‌های سایت اقدام به ساخت آدرس‌ های جعلی در وردپرس کرده که در نتیجه آن افراد به لینک‌های خارجی منتقل می‌شدند. تمامی این لینک‌ها مربوط به سایت‌های دیگری بود و جالب است که این اسکریپت بیش از ۲۰۰۰ لینک مرتبط با آن سایت‌ها را در سایت وردپرسی مذکور قرار داده بود که به آن هک شدن وردپرس با URL injection می‌گویند.

هک شدن وردپرس با URL injection

این فرآیند چگونه شکل می‌گیرد؟ مگر می‌شود با ورود آدرس‌های خارجی هک اتفاق بیفتد؟ در این مقاله این موارد رو برای شما مشخص می‌کنیم. با ما همراه باشید.

URL injection دقیقا چیست؟

این بدین معنی است که هکر در سایت شما صفحاتی ساخته که معمولا شامل کلمات و لینک‌های اسپم است. بعضی اوقات این صفحات جدید شامل کدهایی هستند که کارهای مخصوصی انجام می‌دهند. به عنوان مثال کاربران، سایت شما را به سایت‌های دیگر منتقل می‌کنند یا به وب سرور شما صدمه می‌زنند و اینجاست که می‌گوییم هک شدن وردپرس با URL injection اتفاق افتاده است.

هکرها معمولا این تغییرات را از راه‌های زیر انجام می‌دهند:

  • داشتن دسترسی به یکی از پوشه‌های موجود در سرور یا هاست؛ به عنوان مثال ممکن است به یکی از پوشه‌های هاست خود بصورت کاملا ناخواسته دسترسی کاربر را داده‌اید.
  • سوء استفاده از باگ‌های امنیتی وردپرس؛ البته منظور سایت‌هایی است که وردپرس را آپدیت نکرده‌اند و هنوز از نسخه‌های قدیمی وردپرس استفاده می‌کنند که دارای باگ‌های امنیتی است. زیرا وردپرس به خودی خود سیستم امنی است.
  • هک کردن افزونه‌های third-party که در سایت خود نصب کرده‌اید؛ مثل افزونه‌های شمارش تعداد بازدید سایت.

چگونه متوجه وجود این اسپم شویم؟

با بررسی حساب Google Search Console خود متوجه شدیم تعداد صفحات ایندکس شده به طور قابل توجهی افزایش یافته است. این اولین نشانه‌ای از ساخت آدرس‌ های جعلی در وردپرس بود که نشان می‌داد جایی از کار ایراد دارد.

spam index- ایندکس شدن اسپم ها
ایندکس شدن اسپم ها در کنسول گوگل

همچنین قسمت پیام‌های Search Console را نیز بررسی کردیم اما چیزی مشاهده نشد و عجیب به نظر می‌رسید. در این حالت مثلا باید پیام “سایت شما ممکن است هک شده باشد” را دریافت می‌کردیم.

سپس با جستجو کردن صفحات ایندکس شده در گوگل با استفاده از عبارت site:yourwebsite.com متوجه شدیم، تعدادی صفحه با داشتن ساخت آدرس‌ های جعلی در وردپرس اضافه شده است. تمامی لینک‌های اسپم، دارای عبارتی از سایت‌های خارجی بودند؛ به همین خاطر تمامی لینک‌های با عبارت مذکور را در گوگل جستجو کردیم و نتیجه زیر حاصل شد(برای این کار کلمه مورد نظر را به همراه site:yoursite.com در گوگل جستجو کنید. به عنوان مثال site:yoursite.com :dating

search result- جستجوی نتایج اسپم ها
جستجوی نتایج اسپم های وارد شده در سایت

بیش از ۲۰۰۰ نتیجه مربوط به همان لینک‌ها پیدا کردیم که نشان می‌داد مشکل بزرگی وجود دارد.

چگونه مشکل ساخت آدرس‌ های جعلی در وردپرس را حل کردیم؟

اولین کاری که انجام دادیم، حذف اسکریپت مخرب بود که این لینک‌ها را ایجاد کرده بود. چندین افزونه هستند که اسپم‌ها را شناسایی و حذف می‌کنند؛ افزونه‌های محبوبی مثل WP Spam Shield، WordFence و Sucuri.

ما از افزونه WordFence استفاده کردیم زیرا می‌دانیم عملکرد خوبی دارد.

پاک کردن اسکریپت مخرب از روی سرور

  1. ابتدا افزونه مذکور را نصب کنید. می‌توانید راهنمای استفاده از افزونه Wordfence را در همیار وردپرس بخوانید.
  2. سایت خود را اسکن کنید و تغییرات فایل‌ها را بررسی نمایید.
  • راه‌های بیشتری وجود دارد برای اینکه بتوانید این کار را با استفاده از خود سرور انجام دهید. اما ترجیح بر این است که با کمک افزونه اینکار انجام شود.
  • سایت را اسکن کردیم و نتیجه زیر بدست آمد. با استناد بر گفته‌های پیام زیر و نظر توسعه دهنده سایت، به این نتیجه رسیدیم که این فایل متعلق به ما نیست و ما هم آن را حذف کردیم.
wordfence result- نتایج بدست آمده از اسکن
نتایج بدست آمده از اسکن افزونه wordfence
  1. با بررسی ساخت آدرس‌ های جعلی در وردپرس، با استفاده از نتایج جستجوی گوگل، بررسی کردیم که آیا این URL ها هنوز هم به این سایت‌های اسپم منتقل می‌شوند یا خیر. اگر صفحه ۴۰۴ باز شود مشخص می‌شود که بد افزار از سرور پاک شده است و گوگل نیز دفعه بعدی که خزنده‌های خود را به سایت شما فرستاد، متوجه خواهد شد که این صفحه وجود ندارد و آن را ایندکس نخواهد کرد.
  2. ایمیل خود را در افزونه امنیتی وارد کردیم تا هرگونه مشکل و تغییری را در آینده به اطلاع ما برساند.

پاک کردن اسپم از ایندکس گوگل

می‌دانیم که اگر این لینک‌های اسپم به صفحات ۴۰۴ منتقل شوند، گوگل نیز باید متوجه عدم وجود این صفحات شود و آن‌ها را از لیست صفحات ایندکس حذف کند. اما چون بیش از ۲۰۰۰ عدد از این لینک‌ها وجود دارد و سایت هر روز ایندکس می‌شود، این فرایند ممکن است یک ماه به طول انجامد.

ما می‌خواستیم این فرایند را سرعت ببخشیم و هر چه سریع‌تر این لینک‌های اسپم و صفحات ۴۰۴ را از لیست نتایج جستجوی سایت خود برداریم. بدین منظور ۲ راه وجود دارد:

راه اول (آهسته): ممکن است شما هم به فکر استفاده از ابزار Remove URLs در Google Search Console باشید اما نه تنها حذف این لینک‌ها به اندازه ایندکس شدن آن‌ها زمان بر است، بلکه گوگل آن‌ها را به صورت موقتی پاک می‌کند (۹۰ روز). و تا این زمان هک شدن وردپرس با URL injection ادامه دارد. اما راه‌حل بعدی بهتر به نظر می رسد.

راه دوم (سریع):

  1. همه ی URL های اسپم را از نتایج گوگل دانلود کنید.
  • اگر نتیجه‌های اسپم زیادی دارید، می‌توانید افزونه گوگل کروم به نام Infinite Scroll add-on  را نصب کنید. این افزونه به شما اجازه می‌دهد تا با یک کلیک به صفحه آخر نتایج بروید تا بتوانید تمامی نتیجه‌های گوگل را مشاهده کنید.
  • می‌توانید از افزونه Link Klipper نیز برای دانلود نتایج سایت در گوگل استفاده کنید. قطعا این راه خیلی راحت تر از کپی کردن تک تک نتایج است.
  1. کلمه‌ای که در صفحات اسپم شده تکرار شده است را پیدا کنید و آن را جلوی site:yourwebsite.com قرار دهید و عبارت را در گوگل جستجو کنید. مثل عبارت site:yourwebsite.com dating
  2. به نتایج انتهایی بروید.
  3. هنگامی که تمامی نتیجه‌ها بارگذاری شدند، راست کلیک کنید و Link Klipper را انتخاب کنید و روی Extract all links کلیک کنید. در این حالت یک فایل اکسل ساخته می‌شود.
  4. فایل اکسل را باز کنید و نتایج را براساس a to z مرتب کنید. سپس آن لینک‌هایی که مربوط به سایت شما است و لینک سایت شما در آن قرار دارد را کپی کنید. لینک‌های دیگر را نادیده بگیرید.
  5. شما با کمک افزونه yoast seo نیز می‌توانید نقشه سایت خود را کامل بسازید.
  1. یک نام مشخص برای فایل XML خود بگذارید. حال فایل را در روت سایت خود (در پوشه public_html) آپلود کنید تا آدرس دسترسی به آن چیزی شبیه به website.com/sitemap-name.xml باشد.
  2. حال به Google Search Console بروید و از قسمت crawl و sitemaps، sitemap جدید را به گوگل معرفی کنید.
  3. صفحه را دوباره باز کنید؛ می‌بینید که وضعیت sitemap به حالت submitted در می‌آید.
  4. اگر بیش از ۱۰۰۰ آدرس‌ های جعلی در وردپرس دارید، بعید است که بتوانید همه آن‌ها را در یک اقدام دانلود کنید. پس مجبورید این مراحل را برای بقیه لینک‌ها در روز بعدی انجام دهید.
  • لینک‌های اسپم را از نتایج جستجوی گوگل دانلود کنید و هر بار آن را به همان فایل اکسل اول اضافه کنید.
  • هر بار که لینک جدید اضافه می‌کنید، روی دکمه Remove duplicates در اکسل کلیک کنید تا جایی که تعداد لینک‌ها با آدرس‌ های جعلی در وردپرس موجود در نتایج گوگل برابر شود.
  • فایل sitemap جدید را در گوگل دوباره ثبت کنید.
  چرا ساختار محتوا در سئوی وردپرس اهمیت دارد؟

حذف اسپم‌ها را رصد کنید

از Google Search Console برای رصد فرآیند حذف شدن اسپم‌ها استفاده کنید:

  1. تعداد صفحات ایندکس شده از sitemap اسپم را بررسی کنید که تعداد آن رفته رفته با بررسی سایت شما توسط خزنده‌ها افزایش می‌یابد.
  2. تعداد صفحات ۴۰۴ که مربوط به همان صفحات اسپم هستند را بررسی کنید. اگر بین آن‌ها ارتباط و همبستگی مشاهده کردید، به این معنی است که کار به خوبی پیش می‌رود.
  3. از همان عبارت site:website.com در گوگل استفاده کنید تا تعداد صفحات ایندکس شده را ببینید.

به فکر امنیت سایت خود باشید

در زیر به مواردی اشاره می‌کنیم که به عنوان یک مدیر سایت باید آن‌ها را رعایت کنید تا سایت خود را نسبت به هک شدن وردپرس با URL injection و اینگونه حملات محافظت کنید. استفاده از افزونه WordFence و افزونه‌های مشابه در پیشگیری از این حملات مفید هستند.

  1. اطمینان حاصل کنید افزونه امنیتی وردپرس شما هر روز سایت را اسکن کرده و مواردی که در آن‌ها هکر به صورت مکرر اقدام به ورود ناموفق در سایت می‌کند را بلاک می‌کند.
  2. ایمیل خود را در افزونه امنیتی وارد کنید تا هرگونه هشدار و فعالیتی به سرعت به گوش شما برسد.
  3. اگر با استفاده از گزارش‌های افزونه امنیتی متوجه شدید که تعداد درخواست‌ها برای ورود به ناحیه مدیریت زیاد شده است، آدرس ورود به سایت را تغییر دهید. بهتر است اسمی خاص انتخاب کنید تا به ذهن هکر خطور نکند.
  4. اطمینان حاصل کنید که به ایمیلی که در Search Console گوگل ثبت کرده‌اید دسترسی دارید و می‌توانید از طریق آن هشدارهای مربوط به خزنده و اسپم را دریافت کنید. در این صورت لازم نیست دائم به پنل مدیریتی این سرویس گوگل وارد شوید.
  5. بخش messages در Search Console که مربوط به پیام‌های سیستم است را حتما بررسی کنید.
  6. همیشه صفحات ایندکس شده را بررسی کنید تا ببینید صفحه بیگانه‌ای وجود نداشته باشد.
  7. Crawl Errors را در Search Console بررسی کنید و به نتایجی بیگانه با ارور ۴۰۰ یا ۵۰۰ دقت کنید.
  8. sitemap را چک کنید تا مطمئن شوید اختلافی بین صفحاتی که توسط خزنده‌ها بررسی شده‌اند و صفحاتی که ایندکس شده‌اند وجود ندارد.

نتیجه کار

در این قسمت بخشی از نتایج کار را در راستای مقابله با هک شدن وردپرس با URL injection مشاهده می‌کنید:

ایندکس اسپم‌ها

remove spam- نتایج پس از حذف اسپم ها
نتایج بدست آمده پس از حذف اسپم ها

می‌بینید که ایندکس لینک‌های اسپم چگونه افت داشته و به حالت عادی برگشته است.

ایندکس Sitemap اسپم

sitemap index- آدرس‌ های جعلی در وردپرس
ایندکس شدن نقشه سایت در نتایج کنسول گوگل

URL ها به صورت روزانه در روز اول مشکل به sitemap اضافه شدند و ما اجازه دادیم تا توسط خزنده‌ها بررسی شوند که به صفحات ۴۰۴ ختم می‌شدند تا در نهایت گوگل آن‌ها را حذف کند.

Spam Crawl Errors

spam crawl error- بررسی عملکرد خزنده های اسپم
بررسی عملکرد خزنده در مقابل آدرس های مخرب

در اینجا شاهد افزایش صفحات ۴۰۴ هستیم که به خاطر استفاده از sitemap جدید است. شما می‌توانید بعدا آن‌ها را با استفاده از علامت marking as fixed  پاکسازی کنید.

چقدر طول کشید تا مشکل حل شود؟

در این قسمت اطلاعات دریافتی براساس سایتی که ۸۰۰ صفحه حقیقی و ۲۳۰۳ آدرس‌ های جعلی در وردپرس را نشان داده‌ایم. در قسمت بالایی تاریخ و در قسمت پایینی تعداد صفحات ایندکس شده جعلی در گوگل را مشاهده می کنید. همانطور که مشخص است مشکل پس از ۱ ماه به طور کامل حل شده است.

نتیجه نهایی

هیچ کس از هک شدن سایت خود خوشحال نخواهد شد و قطعا همه وبمستران به دنبال راهی برای افزایش امنیت سایت خود هستند. در این مقاله به بررسی یکی از روش‌های هک شدن وردپرس با URL injection است به تفصیل پرداختیم و با روش حل URL injection آشنا شدیم.

منابع:

anicca 
Search console Help

مشاوره آموزشی رایگان
شما این فرصت را دارید، با تکمیل فرم زیر، قبل از انتخاب دوره آموزشی مناسب خود، از مشاوره رایگان کارشناسان آموزشی مجموعه همیار آکادمی استفاده نمائید.
 
مشاوران آموزشی
همیار آکادمی
پاسخگوی شما هستند
آیا این مقاله برای شما مفید بود؟
تقریبا
خیر

اگر می‌خواهید از آخرین و محبوب‌ترین مقالات ما در ایمیل خود مطلع شوید، همین الان ایمیل خود را در کادر زیر وارد کنید:

تعداد علاقه‌مندانی که تاکنون عضو خبرنامه ما شده‌اند:

297,759 نفر

دیدگاهتان را بنویسید

دیدگاه‌های این نوشته جدید شاخص

دیدگاهی برای این مقاله وجود ندارد

مطالب زیر را حتما بخوانید