هک شدن سایت یک فاجعه مدرن برای کسبوکارهاست. چگونه سایت من هک شده؟ دسترسی ناگهانی قطع میشود، اطلاعات کاربران لو میرود یا محتوای سایت تبدیل به ابزاری مخرب میشود. در دنیایی که روزانه ۲۰ هزار وبسایت هک میشود و خسارت جرایم سایبری تا ۲۰۲۵ به ۱۰ تریلیون دلار میرسد، کسبوکارهای کوچک با ۴۳٪ حملات هدفگیری، آسیبپذیرترین گروهها هستند. این مقاله با استناد به منابع معتبری مانند OWASP و Sucuri، دلایل هک، راهکارهای پیشگیری و اقدامات اورژانسی پس از حمله را در قالبی قابل فهم برای همه (از مدیران تا برنامهنویسان) برجسته میکند. اگر میخواهید افزایش امنیت سایت خود را در اولویت قرار دهید، این مطلب را از دست ندهید.

چرا سایت من هک شده؟
هک شدن سایت معمولاً به دلیل ترکیبی از عوامل انسانی، فنی و عملیاتی رخ میدهد. هکرها با انگیزههای مختلفی وبسایتها را هدف قرار میدهند. مهمترین دلایل عبارتند از:
- سود مالی: سرقت اطلاعات مالی مانند شماره کارتهای اعتباری یا حسابهای بانکی. طبق گزارش (Indusface) ۸۶٪ حملات سایبری با هدف کسب سود مالی انجام میشوند.
- سرقت اطلاعات: اطلاعات کاربران، مانند ایمیلها و رمزهای عبور، برای فروش در بازار سیاه یا حملات فیشینگ.
- توزیع بدافزار: استفاده از وبسایت برای آلوده کردن دستگاههای بازدیدکنندگان.
- ارسال هرزنامه (Spamming): تبدیل وبسایت به بستری برای ایمیلهای هرزنامه یا تبلیغات مخرب.
- فعالیتهای سیاسی یا اجتماعی: انتشار پیامهای سیاسی یا اجتماعی.
- شهرت و سرگرمی: اثبات توانایی یا سرگرمی هکرها.

نشانههای هک شدن وبسایت
تشخیص زودهنگام هک میتواند خسارات را کاهش دهد. نشانههای کلیدی عبارتند از:
- هشدارهای مرورگر یا گوگل: پیامهایی مانند «این سایت ممکن است هک شده باشد» در نتایج جستجو.
- شکایت مشتریان: هشدار مرورگر هنگام ورود به سایت، دانلود برخی فایلهای ناخواسته بر سیستم کاربران.
- کدهای عجیب: کدهایی مانند Disallow: /admin/ در فایل robots.txt.
- کاربران ناشناس یا تغییرات فایل: حسابهای ادمین جدید یا فایلهای مشکوک در سرور.
- تغییرات ترافیک: کاهش ناگهانی بازدید یا افزایش ترافیک از یک منطقه خاص در Google Analytics.
- کاهش کارایی: کندی سایت یا خطاهای سرور (مانند ۵۰۰).
- هشدار هاستینگ: اطلاعیههای شرکت هاستینگ در مورد فعالیتهای مشکوک.

چگونگی هک شدن سایت به روشهای مختلف
در مطلب «شناسایی نقاط ضعف سایت» گفتیم که هکرها از تکنیکهای متنوعی برای نفوذ به وبسایتها استفاده میکنند. برای اطلاعات بیشتر پیشنهاد میدهیم مطلب «انواع روشهای جلوگیری از هک شدن سایت» را مطالعه کنید. البته در ادامه، رایجترین روشها را با مثالهای ملموس توضیح میدهیم:
۱ – رمزهای عبور ضعیف
یکی از مشکلات امنیتی رایج در وبسایتها، رمزهای ساده مانند ۱۲۳۴۵۶ یا admin123 است که به هکرها امکان دسترسی از طریق حملات بروت فورس یا پر کردن فرمهای ورود به صورت تصادفی (Credential Stuffing) را میدهند. طبق گزارشات تقریبا ۶۰٪ حملات موفق به دلیل رمزهای ضعیف رخ میدهند.
مثال: بنا به گزارش IBM Security در سال ۲۰۲۱ ۳۰,۰۰۰ سایت Shopify به دلیل استفاده از رمزهای پیشفرض هک شدند.
چگونه تشخیص دهم؟ لاگهای ورود نشاندهنده تلاشهای مکرر برای ورود با نام کاربری خاص هستند.
راهکار: از رمزهای پیچیده با حداقل ۱۲ کاراکتر (مثال: FHsdf@558*%) استفاده کنید. از ابزارهایی مانند LastPass برای ایجاد پسورد رندم استفاده کنید. مثل passwordsgenerator.net
۲ – نرمافزارهای قدیمی
نسخههای قدیمی CMSها (مانند وردپرس) و افزونهها دارای آسیبپذیریهای شناختهشدهای هستند که هکرها از آنها بهرهبرداری میکنند. ۹۰٪ حملات موفق به سایتهای وردپرسی از طریق افزونههای آسیبپذیر انجام میشود.
مثال: طبق اعلام Sucuri در سال ۲۰۲۲، افزونه قدیمی (ورژن آسیب پذیر) Elementor باعث نفوذ هکرها به ۱۵,۰۰۰ سایت وردپرس شد.
چگونه تشخیص دهم؟ هشدار «بهروزرسانی در دسترس» در پنل مدیریت خود را چک کنید یا افزونههایی با تاریخ انتشار بیش از یک سال را بهروز و درصورت نبود آپدیت از سالم بودن و امن بودن آن اطلاع حاصل کنید.
راهکار: هر ماه بهروزرسانیها را بررسی کنید و برای افزایش امنیت وردپرس از هاستینگهایی با ویژگی بررسی و اعلام بهروزرسانی خودکار استفاده کنید. در مطلب «بهترین افزونههای امنیتی وردپرس» به معرفی ابزارهای کاربردی برای تقویت امنیت وبسایتهای وردپرسی اشاره کرده ایم که خواندن آن خالی از لطف نیست.

۳ – آسیبپذیریهای هاستینگ
هاستهای ارزانقیمت ممکن است فاقد فایروال یا پروتکلهای امنیتی کافی باشند، یا از پروتکلهای قدیمی مانند FTP استفاده کنند.
مثال: در سال ۲۰۲۳، پیکربندی نادرست SSL در یک هاستینگ باعث نشت دادههای ۵۰,۰۰۰ کاربر شد.
چگونه تشخیص دهم؟ نداشتن سرویسهای مدرن و جدید جهت ارائه، پشتیبانی نادرست، قیمت نامتناسب، ارائه سرویسهای قدیمی، نداشتن سرویسهای مانیتورینگ و بررسی و پایش جهت اعلان مشکل و غیره .
راهکار : به هاستینگ معتبر مهاجرت کنید و SSL را حتما فعال کنید. برای این منظور میتوانید از «تست رایگان ارزیابی SSL/TLS سایت» شرکت نتبان استفاده کنید و از وضعیت SSL سایت خود مطلع شوید.
۴ – SQLi (SQL Injection)
هکرها کدهای مخرب SQL را از طریق فرمهای وب وارد میکنند تا به پایگاه داده دسترسی پیدا کنند.
مثال: در سال ۲۰۱۵، حمله SQL Injection به TalkTalk دادههای ۱۵۷,۰۰۰ کاربر را سرقت کرد.
چگونه تشخیص دهم؟ کاربران گزارش میدهند که با کلیک روی دکمههای سایت به صفحات عجیب هدایت میشوند. تغییر دسترسیها به فایل و دیتابیس سایت. ایجاد یوزرهای جدید. کند شدن سایت. مشاهده سایتهای جدید. دریافت ایمیلهای اسپم و… .
راهکار : از توسعهدهنده بخواهید فرمها را بررسی کند، دیتابیس را امن پیاده سازی کند و از راهکارهایی مثل اضافه کردن فرآیند هش کردن دیتا در ذخیره اطلاعات کاربران و موارد مهم استفاده کند.

۵ – Cross-Site Scripting (XSS)
در مطلب «آسیب پذیری XSS چیست؟» گفتیم که هکرها کدهای جاوااسکریپت مخرب را در صفحات وب تزریق میکنند که در مرورگر کاربران اجرا میشوند یا در صفحه سایت شما ذخیره میشود.
مثال: یک نظر مخرب و آلوده به پیلود XSS در بخش نظرات میتواند اطلاعات کاربران مثل رمز، شناسه کاربری، کوکیها و… کاربر را بدزدد.
چگونه تشخیص دهم؟: یک نظر مخرب با متنیهای عجیب و شبیه به کدهای کامپیوتری در بخش نظرات در سایت ظاهر میشود.
راهکار : نظرات کاربران را بررسی کنید و از وارد کردن کدها و کاراکترهای حروفی خاص و مشکوک خودداری کنید.
۶ – Credential Stuffing
هکرها از رمزهای دزدیده شده و از نقضهای داده برای ورود به سایت استفاده میکنند.
مثال: رمز عبوری که در نقض داده LinkedIn لو رفته، برای ورود به سایت استفاده میشود. چرا که عموما کاربران از الگو یا رمزهای مشابه استفاده میکنند.
چگونه تشخیص دهم؟ لاگهای ورود نشاندهنده تلاشهای غیرعادی از IPهای ناشناس هستند یا یک حساب کاربری چندین بار پیاپی درخواست ورود یا ارسال کد داشته.
راهکار : از رمزهای منحصربهفرد و 2FA استفاده کنید.
برای اطلاعات بیشتر مطلب «حمله Credential Stuffing چیست؟» را مطالعه کنید.

۷ – Distributed Denial-of-Service (DDoS)
هکرها با ارسال ترافیک مصنوعی در حجم و تعداد زیاد سایت را غیرقابل دسترس میکنند.
مثال: یک فروشگاه آنلاین در روز فروش ویژه به دلیل حمله DDoS از دسترس خارج میشود، که باعث از دست رفتن سود قابل توجهی میشود.
چگونه تشخیص دهم؟ سایت به طور ناگهانی کند یا غیرقابل دسترس میشود. برای تشخیص میتوانید مطلب «حمله DDoS چیست؟» را مطالعه کنید.
راهکار : از خدمات CDN مانند Cloudflare با محافظت DDoS استفاده کنید یا از WAF استفاده کنید. در مطلب «چگونه حملات DDoS را متوقف کنیم؟» به طور مفصل در این زمینه صحبت کردهایم.
۸ – Man-in-the-middle (MITM)
هکرها ارتباط بین کاربر و سایت را رهگیری، مانیتور و شنود میکنند. برای اطلاعات بیشتر به مطلب «حملات مرد میانی (Man-in-the-Middle) چیست؟» مراجعه کنید.
مثال: اتصال کاربر به سایت در یک شبکه Wi-Fi عمومی ناامن باعث میشود اطلاعات ورود سرقت شود.
چگونه تشخیص دهم؟ کاربران گزارش میدهند که اطلاعاتشان در جای دیگری استفاده شده است. یا حسابشان در دسترس نیست.
راهکار : از HTTPS در وبسایت و کابران نیز از شبکههای Wi-Fi امن استفاده کنید.

۹ – Zero-Day Exploits
هکرها از آسیبپذیریهای ناشناخته و انحصاری بهرهبرداری میکنند.
مثال: آسیبپذیری Log۴Shell در سال ۲۰۲۱ سرورهای زیادی را به خطر انداخت.
چگونه تشخیص دهم؟ فعالیتهای غیرعادی بدون دلیل مشخص در سرور، کند شدن سرور، ترافیک غیر عادی و… .
راهکار : نرمافزارها را بهروز نگه دارید و از خدمات امنیتی حرفهای استفاده کنید.
برای اطلاعات بیشتر مطلب «حمله روز صفر (Zero-Day) چیست؟» را مطالعه کنید.
۱۰ – فیشینگ و مهندسی اجتماعی پیشرفته
هکرها با تکنیکهایی مانند فیشینگ نیزهای، ویشینگ، اسمیشینگ، پیشمتنسازی و طعمهگذاری، کاربران را فریب میدهند. حملات مهندسی اجتماعی اغلب از احساسات انسانی مانند ترس، فوریت، طمع و کنجکاوی برای دور زدن تفکر منطقی سوءاستفاده میکنند.
مثال: در سال ۲۰۲۲، حمله فیشینگ به British Airways دادههای ۴۰۰,۰۰۰ کاربر را لو داد.
چگونه تشخیص دهم؟ ایمیلهای ناشناس با لینکها یا پیوستهای مشکوک دریافت میکنید. گزارشات کاربران سایت مبنی بر عدم عملکرد درست. عدم پرداخت صورتحساب. نرسیدن مرسولهها و… .
راهکار: روی لینکهای ناشناس کلیک نکنید و درخواستها را از کانالهای رسمی تأیید کنید. سایت را امن پیاده سازی کنید. از لگوی غیر قابل کپی کردن و از درگاههای پرداخت امن و معتبر استفاده کنید که کاربران تایید کنند وارد وبسایت اصلی و درست شدهاند. استفاده از گواهیها و نمادهای ایجاد اعتماد و اعتبار نیز امری مهم است. در مورد درخواستهای ناخواسته برای اطلاعات شخصی یا حساس، به ویژه اگر حس فوریت ایجاد کنند، مشکوک باشید.
برای اطلاعات بیشتر مطلب «مهندسی اجتماعی چیست؟» را مطالعه کنید.

۱۱ – Remote code execution (RCE)
هکرها کد دلخواه خود را روی سرور اجرا میکنند.
مثال: آسیبپذیری Log۴Shell امکان اجرای کد مخرب را فراهم کرد.
چگونه تشخیص دهم؟ فایلهای ناشناخته در سرور ظاهر میشوند، درخواستهای مشکوک، کند شدن سایت، دسترسی از نقاط و IPهایی خاص و شناخته نشده.
راهکار: نرمافزارها را بهروز نگه دارید، انجام دورهای تست نفوذ آنلاین و تستهای امنیتی.
۱۲ – بدافزارها
بدافزارها از طریق پلاگینهای آلوده یا کدهای تزریقی وارد سایت میشوند.
مثال: اسکریپت مخرب در صفحه پرداخت، اطلاعات کارت مشتریان را سرقت میکند.
چگونه تشخیص دهم؟ هشدار مرورگر کاربران هنگام بازدید از سایت، رفتارهای عجیب در برخی ویژگیهای سایت. انواع سیستمهای ضد بدافزار نیز در این زمینه راهگشا هستند.
راهکار : افزونهها، نرمافزارها و کدها را از منابع معتبر نصب کنید. در مورد دانلود فایلها یا کلیک کردن روی لینکهای منابع ناشناخته یا غیرقابل اعتماد احتیاط کنید

۱۳ – APIهای ناامن
APIهای ناامن دادههای حساس را در معرض خطر قرار میدهند.
مثال: API بدون احراز هویت امکان دسترسی به اطلاعات کاربران را فراهم میکند.
چگونه تشخیص دهم؟ درخواستهای غیرعادی به نقاط پایانی API در لاگها.
راهکار : از توسعهدهندگان بخواهید APIها را ایمن کنند.
۱۴ – ثبت و نظارت ناکافی
عدم ثبت و نظارت میتواند تشخیص نقض را به تأخیر بیندازد.
مثال: ورودهای مشکوک بدون ثبت و نظارت عملکرد هکر را مخفی نگه میدارند.
چگونه تشخیص دهم؟ لاگهای امنیتی ناقص یا غیرفعال هستند. ادوات و برنامههای تشخیص ورود یا آسیبپذیری و مانیتوریگ از کار افتادهاند.
راهکار : از هاستینگ بخواهید لاگها را فعال کند.

پس از هک شدن سایت چه کنیم؟
پس از هک شدن سایت این مراحل را دنبال کنید:
۱ – قطع دسترسی هکر:
- سایت را از طریق هاستینگ و یا از سرور موقتاً خاموش کنید.
- فنی: sessionهای فعال را ببندید مثلاً wp session destroy در وردپرس.
۲ – اسکن و پاکسازی:
- فایلهای آلوده را با کمک Sucuri SiteCheck تشخیص دهید.
- فنی: دسترسی به دیتابیس را قطع کرده و کوئریهای مشکوک را بررسی کنید.
۳ – بازگردانی: از هاستینگ بخواهید سایت را از بکآپ سالم بازگردانی کند. داشتن فایل پشتیبان از اطلاعات سایت و کاربران در زمان خراب یا هک شدن سایت یک امر حیاتی است.
۴ – تغییر رمزهای عبور: تمام رمزهای عبور را تغییر دهید.
۵ – نظارت پس از بازیابی: سایت را با ابزارهای مانیتورینگ بررسی کنید.
۶ – اطلاع به هاستینگ: با هاستینگ تماس بگیرید تا اقدامات لازم انجام شود.
۷ – اطلاع به همه کابران: با آگاه کردن کاربران میتوان از ایجاد خرابی بیشتر یا لو رفتن بیشتر دیتا جلوگیری کرد.

آنچه درباره دلیل هک شدن سایت گفتیم
در مطلب «چگونه سایت من هک شده؟» گفتیم که هک شدن وبسایت یک هشدار برای تقویت امنیت است، نه یک بحران غیرقابل حل. با درک دلایل و روشهای هک، اجرای اقدامات پیشگیرانه و آمادگی برای پاکسازی پس از هک، میتوانید سایت خود را به یک قلعه امن تبدیل کنید. طبق گزارش، ۸۵٪ خطرات سایبری با اقدامات ساده مانند بهروزرسانی منظم و استفاده از برنامههای فایروال وب اپلیکیشن یا WAF قابل پیشگیری هستند. امنیت، یک فرایند مداوم است که نیازمند مشارکت همه، از برنامهنویسان تا مشتریان است. با استفاده از منابع معتبر مانند OWASP، ابزارهای امنیتی و آموزش مداوم، میتوانید از وبسایت خود در برابر انواع تهدیدات سایبری محافظت کنید.
در نهایت، امنیت وبسایت موضوعی نیست که بتوان آن را یکبار برای همیشه حل کرد؛ بلکه فرایندی مداوم از پایش، بهروزرسانی و آگاهی است. در این زمینه پیشنهاد میکنیم مطلب «چگونه امنیت سایت را بررسی کنیم؟» را مطالعه کنید تا با راهکارهای جدید برای تست امنیت وبسایت آشنا شوید.





