وقتی یک سایت هک میشود، اولین تصور معمول این است که یک هکر حرفهای با یک حمله پیچیده وارد سیستم شده است. اما واقعیت همیشه اینطور نیست. در بسیاری از حملات، مهاجم از یک ضعف مشخص شروع میکند؛ مثلاً یک افزونه قدیمی، یک رمز عبور ضعیف یا یک تنظیم اشتباه. بعد از ورود اولیه، از ضعفهای دیگری استفاده میکند تا دسترسی خود را بیشتر کند یا حضورش را در سایت حفظ کند. به همین دلیل، هک شدن سایت را بهتر است نه بهعنوان یک اتفاق، بلکه بهعنوان یک زنجیره ببینیم.
مثلاً:
افزونه قدیمی → آسیبپذیری → دسترسی اولیه → افزایش دسترسی → تغییر فایلها یا محتوای سایت
این نگاه کمک میکند بفهمیم چرا گاهی یک اشتباه کوچک، در صورت وجود چند ضعف دیگر، میتواند به یک مشکل امنیتی جدی تبدیل شود. اما چه اشتباهاتی معمولاً این زنجیره را شکل میدهند؟
هک سایت از کجا شروع میشود؟
برای سادهتر شدن موضوع، میتوان مسیر یک حمله را در چهار مرحله دید:
۱. ورود: مهاجم راهی برای دسترسی پیدا میکند.
۲. نفوذ: از یک ضعف فنی یا دسترسی بهدستآمده استفاده میکند.
۳. گسترش دسترسی: تلاش میکند به بخشها یا منابع بیشتری دسترسی پیدا کند.
۴. ماندگاری: کاری میکند که دسترسی او حفظ شود یا مدت بیشتری شناسایی نشود.
تمام ۱۰ اشتباهی که در ادامه میخوانید، الزاماً در یک مرحله قرار نمیگیرند؛ بعضی از آنها راه ورود را باز میکنند و بعضی دیگر باعث میشوند مهاجم بعد از ورود، کنترل بیشتری به دست بیاورد.
مرحله اول: راه ورود را باز میکنیم
۱. بهروزرسانی نکردن CMS، افزونهها و نرمافزارهای سایت

یکی از سادهترین مسیرهای حمله، استفاده از آسیبپذیریهای شناختهشده در نرمافزارهای قدیمی است. CMS، افزونه، قالب، کتابخانه یا سایر اجزای نرمافزاری سایت ممکن است در نسخههای قدیمی دارای یک نقص امنیتی باشند. اگر نسخه آسیبپذیر همچنان فعال باشد، مهاجم میتواند از همان ضعف برای شروع حمله استفاده کند.
این مسئله فقط مربوط به WordPress نیست. تقریباً هر برنامه وبی از مجموعهای از نرمافزارها و وابستگیها تشکیل شده و امنیت آنها بخشی از امنیت کل سیستم است. در OWASP Top 10:2025 نیز Software Supply Chain Failures بهعنوان یکی از ریسکهای اصلی معرفی شده و استفاده از اجزای قدیمی، پشتیبانینشده یا ناامن را بخشی از این مسئله میداند.
اشتباه رایج:
«این افزونه مدتهاست روی سایت نصب است و مشکلی ایجاد نکرده؛ پس نیازی به آپدیت ندارد.»
اتفاقاً ممکن است آسیبپذیری آن مدتها شناخته شده باشد و مهاجمان دقیقاً به دنبال سایتهایی باشند که هنوز آن نسخه را اجرا میکنند.
۲. استفاده از رمز عبور ضعیف یا تکراری
گاهی مهاجم اصلاً نیازی ندارد یک آسیبپذیری پیچیده پیدا کند؛ کافی است به یک حساب کاربری دسترسی پیدا کند. رمزهای قابل حدس، کوتاه یا استفاده مجدد از یک رمز در چند سرویس، ریسک سرقت حساب را افزایش میدهند.
تصور کنید مدیر سایت از یک رمز مشابه برای ایمیل، پنل سایت و سرویس دیگری استفاده کرده باشد. اگر یکی از این حسابها به خطر بیفتد، مهاجم ممکن است از همان اطلاعات برای امتحان کردن سرویسهای دیگر استفاده کند. به همین دلیل، امنیت حسابهای مدیریتی بخشی از امنیت خود سایت است.
۳. استفاده از افزونه، قالب یا نرمافزار کرکشده
وقتی یک افزونه یا قالب از منبع نامعتبر دریافت میشود، دیگر نمیتوان با اطمینان گفت فایل نصبشده همان چیزی است که توسعهدهنده اصلی منتشر کرده است. ممکن است فایل دستکاری شده باشد، کد ناخواسته داشته باشد یا در آینده امکان دسترسی غیرمجاز ایجاد کند. از طرف دیگر، نسخههای غیررسمی معمولاً فرآیند قابل اعتمادی برای دریافت بهروزرسانیهای امنیتی ندارند. بنابراین «رایگان بودن» یک نرمافزار میتواند هزینهای داشته باشد که در ابتدا دیده نمیشود.
مرحله دوم: ضعف فنی، حمله را ممکن میکند
۴. تنظیمات امنیتی اشتباه
گاهی خود نرمافزار آسیبپذیر نیست؛ نحوه پیکربندی آن مشکل ایجاد کرده است. فعال بودن سرویسهای غیرضروری، باقی ماندن حسابهای پیشفرض، دسترسی بیش از حد، نمایش اطلاعات حساس یا باز بودن منابعی که نباید عمومی باشند، میتوانند سطح حمله را افزایش دهند. OWASP در Top 10:2025، Security Misconfiguration را دومین ریسک اصلی معرفی کرده است. این یعنی حتی استفاده از نرمافزار بهروز هم تضمین نمیکند سایت امن باشد؛ نرمافزار باید درست هم پیکربندی شود.
۵. دریافت و پردازش ناامن اطلاعات ورودی
سایتهای امروزی دائماً اطلاعات دریافت میکنند:
- فرم تماس
- فرم ورود
- جستوجو
- ثبتنام
- کامنت
- API
- اطلاعات سفارش
اگر برنامه نتواند ورودیها را بهدرستی اعتبارسنجی و پردازش کند، مهاجم ممکن است دادهای ارسال کند که برنامه برای آن طراحی نشده است. Injection یکی از شناختهشدهترین نمونههای این نوع ضعف است و همچنان در OWASP Top 10:2025 قرار دارد. نکته مهم این است که مشکل از «داشتن فرم» نیست؛ مشکل از نحوه پردازش دادهای است که از سمت کاربر دریافت میشود.
مرحله سوم: مهاجم میخواهد بیشتر از چیزی که به دست آورده کنترل کند

فرض کنیم مهاجم بالاخره وارد سیستم شده است. آیا همینجا کار تمام میشود؟ نه. یکی از مهمترین اشتباهات امنیتی این است که فرض کنیم اگر مهاجم وارد یک حساب شد، فقط همان حساب را در اختیار دارد.
۶. دادن دسترسی بیشتر از نیاز به کاربران
کاربری که فقط باید محتوای سایت را ویرایش کند، لزوماً نباید بتواند تنظیمات اصلی سیستم را تغییر دهد. اگر همه کاربران دسترسی مدیریتی داشته باشند، سرقت یکی از آن حسابها میتواند دامنه حمله را بسیار بزرگتر کند. این همان مسئلهای است که در امنیت با مفهوم Least Privilege یا حداقل سطح دسترسی شناخته میشود. در OWASP Top 10:2025، Broken Access Control همچنان در جایگاه نخست قرار دارد. قاعده ساده است:
هر کاربر فقط باید به همان چیزی دسترسی داشته باشد که برای انجام کارش لازم است.
۷. باقی گذاشتن حسابها و دسترسیهای قدیمی
کارمند سابق، توسعهدهنده قبلی، حساب آزمایشی یا کاربری که فقط برای یک پروژه ساخته شده، اگر همچنان فعال باشد، میتواند به یک نقطه ضعف تبدیل شود. این حسابها معمولاً بیشتر از چیزی که باید فراموش میشوند. فرض کنید توسعهدهندهای چند سال قبل برای انجام کاری به پنل سایت دسترسی گرفته، اما پس از پایان همکاری حسابش حذف نشده است. حالا حتی اگر تمام حسابهای فعلی بهخوبی محافظت شوند، یک حساب قدیمی همچنان در محیط وجود دارد.
یک سؤال ساده:
اگر همین امروز فهرست تمام کاربران و دسترسیهای سایت را بررسی کنیم، چند مورد را پیدا میکنیم که دیگر واقعاً به آنها نیازی نیست؟
مرحله چهارم: مهاجم نباید بتواند بیصدا بماند
حتی اگر یک مهاجم موفق شود وارد سایت شود، هنوز یک فرصت مهم برای دفاع وجود دارد:
تشخیص سریع.
هرچه زمان بیشتری بین نفوذ و شناسایی آن فاصله بیفتد، مهاجم فرصت بیشتری برای تغییر محیط خواهد داشت.
۸. نداشتن لاگ و هشدارهای امنیتی مناسب
اگر ورودهای غیرعادی، تغییرات مهم یا رخدادهای مشکوک ثبت نشوند، تشخیص حمله دشوارتر میشود. بدتر از آن، ممکن است لاگ وجود داشته باشد اما هیچکس آن را بررسی نکند. OWASP در نسخه ۲۰۲۵ نیز Logging & Alerting Failures را بهعنوان یکی از ریسکهای اصلی مطرح میکند. پس مسئله فقط این نیست که «آیا سایت لاگ دارد؟»
سؤال مهمتر این است:
آیا وقتی اتفاق غیرعادی رخ میدهد، کسی متوجه آن میشود؟
۹. تصور اینکه ظاهر سالم سایت یعنی امنیت آن
یکی از خطرناکترین سوءبرداشتها همین است. ممکن است صفحه اصلی سایت کاملاً عادی باز شود و هیچ چیز مشکوکی به نظر نرسد، در حالی که مهاجم قبلاً بخش دیگری از سایت را دستکاری کرده باشد. مهاجم الزاماً قرار نیست صفحه اول سایت را تغییر دهد. ممکن است هدف او ایجاد یک دسترسی، تغییر فایل، اضافه کردن یک صفحه یا قرار دادن کدی باشد که در ظاهر سایت دیده نمیشود. بنابراین:
«سایت باز میشود» با «سایت امن است» یکی نیست.
۱۰. نادیده گرفتن بخشهایی که در ظاهر سایت دیده نمیشوند
سایت فقط همان چیزی نیست که کاربر در مرورگر میبیند. پنل مدیریت، APIها، سرور، دیتابیس، فایلها، حسابهای کاربری و سرویسهای متصل نیز بخشی از محیط سایت هستند. ممکن است صفحه اصلی هیچ مشکلی نداشته باشد، اما یک API، یک پنل مدیریتی یا یک سرویس جانبی دارای ضعف امنیتی باشد. به همین دلیل ارزیابی امنیت باید کل محیط را در نظر بگیرد، نه فقط ظاهر سایت.
یک مثال واقعیتر از چیزی که «هک شدن» نامیده میشود
حالا ۱۰ اشتباه بالا را کنار هم بگذاریم. فرض کنیم یک سایت یک افزونه قدیمی دارد.
اول: مهاجم آسیبپذیری موجود در افزونه را پیدا میکند.
دوم: از این ضعف برای ایجاد دسترسی اولیه استفاده میکند.
سوم: متوجه میشود یک حساب کاربری سطح دسترسی بیشتری از نیاز واقعی دارد.
چهارم: از همان دسترسی برای تغییر بخشی از سایت استفاده میکند.
پنجم: چون سیستم لاگ و هشدار مناسبی ندارد، کسی متوجه فعالیت غیرعادی نمیشود. حالا اگر مدیر سایت فقط بپرسد:
«چرا افزونه من قدیمی بود؟»
بخش بزرگی از ماجرا را ندیده است. مسئله واقعی یک زنجیره بوده:
نرمافزار قدیمی → راه ورود → دسترسی اضافی → گسترش کنترل → نبود تشخیص
و این دقیقاً همان نکتهای است که در بررسی امنیت سایت باید به آن توجه کرد.
پس چرا سایتها هک میشوند؟
اگر بخواهیم تمام مقاله را در یک جمله خلاصه کنیم:
سایتها معمولاً به خاطر یک اشتباه منفرد هک نمیشوند؛ مجموعهای از ضعفها میتواند مسیر حمله را برای مهاجم ایجاد کند.
یک افزونه قدیمی ممکن است راه ورود باشد.
یک رمز ضعیف ممکن است دسترسی اولیه را فراهم کند.
یک دسترسی بیش از حد ممکن است دامنه کنترل مهاجم را افزایش دهد.
و نبود لاگ و هشدار مناسب ممکن است باعث شود این اتفاق دیر شناسایی شود.
بنابراین امنیت سایت یک محصول یا افزونه نیست که یکبار نصب شود و کار تمام شود؛ مجموعهای از تصمیمها، تنظیمات و کنترلهای امنیتی است که باید در کنار یکدیگر کار کنند.
چکلیست کوتاه: آیا سایت شما این ضعفها را دارد؟
برای شروع، این ۱۰ سؤال را از تیم فنی یا توسعهدهنده سایت بپرسید:
- آیا CMS و افزونههای سایت بهروز هستند؟
- آیا نرمافزارهای سایت از منابع معتبر دریافت شدهاند؟
- آیا حسابهای مدیریتی رمزهای منحصربهفرد و قوی دارند؟
- آیا برای حسابهای حساس احراز هویت چندمرحلهای فعال است؟
- آیا هر کاربر فقط دسترسی موردنیاز خودش را دارد؟
- آیا حسابهای قدیمی و بلااستفاده حذف شدهاند؟
- آیا تنظیمات امنیتی سرور و برنامه بررسی شدهاند؟
- آیا ورودیهای کاربران به شکل امن پردازش میشوند؟
- آیا رخدادهای مهم ثبت و پایش میشوند؟
- آیا برای فعالیتهای مشکوک هشدار مناسبی وجود دارد؟
اگر پاسخ چند مورد از این سؤالها را نمیدانید، همین «ندانستن» میتواند دلیلی برای بررسی دقیقتر وضعیت امنیت سایت باشد.
جمعبندی
هک شدن سایت معمولاً از یک اتفاق ناگهانی شروع نمیشود؛ اغلب چند ضعف کوچک در کنار هم قرار میگیرند و مسیری برای نفوذ ایجاد میکنند. افزونهای که بهروزرسانی نشده، دسترسیهای اضافی، حسابهای قدیمی، تنظیمات نادرست یا نبود کنترل و پایش مناسب، هرکدام میتوانند بخشی از این مسیر باشند. به همین دلیل، امنیت سایت فقط به نصب یک ابزار امنیتی یا رفع یک آسیبپذیری محدود نمیشود. سایت برای امن ماندن به بررسی منظم، بهروزرسانی، کنترل دسترسی، پشتیبانی فنی و رسیدگی سریع به مشکلات نیاز دارد.
اگر امنیت سایت شما بهدرستی مدیریت نمیشود یا نمیدانید چه نقاط ضعفی میتواند مسیر نفوذ را باز کند، سها مارکتینگ میتواند در بررسی، نگهداری و پشتیبانی فنی سایت در کنار شما باشد. هدف فقط رفع یک مشکل پس از هک نیست؛ بلکه ایجاد یک روند منظم برای نگهداری و کاهش ریسکهای امنیتی سایت است.
برای بررسی وضعیت سایت و دریافت خدمات پشتیبانی و نگهداری، با سها مارکتینگ در ارتباط باشید.



