- موضوع نویسنده
- #1
کد مخرب سایت چیست؟ چرا باید نگران آن باشیم؟
در دنیای امروز که اطلاعات ارزشمند در وب سایتها ذخیره میشود، تهدید انواع کدهای مخرب سایتها (Malicious Code) روزبهروز جدیتر میشود. هکرها با استفاده از روشهای مختلف تلاش میکنند وارد سایتها شده، اطلاعات سرقت کنند یا به سایتها آسیب برسانند. آگاهی نسبت به این کدها و روشهای مقابله با آن، اولین گام هر مدیر سایت برای حفظ امنیت داده هاست. در این مقاله از سایت احمدرضا کریمی به صورت عمیق به انواع کدهای مخرب و تکنیکهای هک سایتها میپردازیم.
مفهوم و کارکرد کدهای مخرب (Malware) در وب سایت
کد مخرب برنامهای است که برای آسیب رساندن، دسترسی غیرمجاز، یا سوءاستفاده از منابع سایت و سرور طراحی میشود. این کدها ممکن است توسط هکرها به صورت مستقیم در فایلهای سایت، پایگاهداده یا حتی افزونه و قالب وردپرس و جوملا تزریق شوند. تشخیص دیرهنگام این کدها ممکن است باعث از دست رفتن اطلاعات، فیلتر دامنه، افت سئو و حتی جریمه توسط گوگل شود.
انواع اصلی کدهای مخرب و روشهای نفوذ
- کدهای تزریقی (Injection Code)
یکی از متداولترین روشها، تزریق کدهای مخرب به پایگاه داده (SQL Injection) یا کدهای سمت کلاینت (مانند Cross-site Scripting یا XSS) است. هکر سعی میکند از فیلدهای ورودی سایت یا عدم فیلتر مناسب دادهها، کدهای خود را به سایت وارد کند. - بدافزارهای اسکریپتی (Malicious Scripts)
این نوع معمولاً در فایلهای.php
،.js
یا حتی.html
سایت قرار میگیرد. هدف اغلب آن سرقت اطلاعات (مانند فرمهای ورود)، تغییر ریدایرکتها یا ارسال اسپم به وسیله سایت قربانی است. - شِلها و Web Shell
شِلها فایلهای مخربی هستند که به هکر اجازه مدیریت و مشاهده تمام فایلها و محتوای هاست را میدهد. شِلها معمولاً به نامهایی مانندr57.php
یاc99.php
بارگذاری میشوند و با دریافت دستورات از هکر، میتوانند کل سرور را آلوده کنند. - کدهای رمزگذار (Obfuscated or Encoded Code)
کدهای مخربی که به صورت رمزگذاری شده درfunctions.php
قالب وردپرس یا افزونهها مخفی میشوند و تشخیص آنها دشوار است. این کدها اغلب باbase64
یا متدهای رمزگذار مشابه نوشته میشوند.
کد:eval(base64_decode('aWYo...KTs='));
- درب پشتی (Backdoor)
بعد از هک اولیه، هکر یک کد یا فایل Backdoor نصب میکند تا در صورت ترمیم سایت توسط شما، دوباره به سایت بازگردد! این کدها معمولاً بیسر و صدا به فعالیت خود ادامه میدهند.
انواع هکهای رایج سایت ها
- هک به روش SQL Injection - با وارد کردن دادههای مخرب در فیلدهای فرم یا URL، دستور دلخواه خود را در دیتابیس اجرا میکنند.
- هک به روش Cross Site Scripting (XSS) - درج کدهای جاوااسکریپت آلوده در بخش دیدگاه یا فرمها جهت سرقت کوکی و اطلاعات کاربران.
- هک سایت با Brute Force Attack - تلاش مکرر برای حدس رمز عبور مدیر سایت از طریق نام کاربری و رمز.
- آپلود فایل و شل مخرب - از طریق فرمهای آپلود یا حفرههای امنیتی، فایلهای مثل
webshell.php
را در هاست بارگذاری میکنند. - بدافزار Inject در قالب یا افزونه نال شده - نصب قالب یا افزونه غیر رسمی میتواند باعث ورود کدهای مخفی به سایت شود.
نشانهها و علائم وجود کد مخرب در سایت
- کند شدن و کاهش ناگهانی سرعت سایت
- ایجاد فایل یا پوشه ناشناس روی هاست
- ریدایرکت کاربران به سایتهای غیرمجاز یا تبلیغاتی
- افزایش ترافیک غیرعادی و ارسال اسپم از سایت شما
- نمایش هشدار “This site may harm your computer” در نتایج گوگل
- فیلتر یا بلاک شدن سایت توسط آنتیویروسها یا سرویسهای DNS
چگونه کد مخرب را در سایت شناسایی کنیم؟
- بررسی و اسکن فایلها از طریق هاست به ویژه فایلهای جدید یا مشکوک مانند
wp-config.php
،index.php
،functions.php
و پوشه uploads. - استفاده از ابزارهای آنلاین مثل Sucuri SiteCheck یا VirusTotal برای بررسی URL
- نصب افزونههای امنیتی مانند
Wordfence
یاiThemes Security
در وردپرس - کنترل لاگهای دسترسی سرور و بررسی فعالیتهای مشکوک
- مقایسه نسخه فعلی فایل با نسخه سالم (مثلا با دانلود مجدد نسخه اصلی وردپرس)
راههای پیشگیری از آلوده شدن سایت
- بروزرسانی مداوم CMS و افزونهها به آخرین نسخه
- عدم استفاده از قالب و افزونه نال یا کرکشده
- تعریف سطح دسترسی دقیق برای پوشهها و فایلها (۷۵۵ برای پوشه و ۶۴۴ برای فایلها)
- قرار دادن فایل
.htaccess
جهت محدود کردن دسترسی به بخشهای مهم - فعالسازی فایروال نرمافزاری و مانیتور کردن ترافیک سایت
- تهیه و نگهداری بکاپ منظم و تست ریستور آن
نمونه کد مخرب واقعی که باید مراقب آن باشید
در فایلهای آلوده، اغلب کدهای رمزگذاری شده با
eval
، base64_decode
و gzinflate
میبینید:
کد:
<?php @eval(gzinflate(base64_decode('S0xJLS7JrFQoSi0uzi8p1M8sAQA='))); ?>
نحوه پاکسازی سایت از کد مخرب و علاج هک
- شناسایی و حذف تمام فایلهای مشکوک یا ناشناس
- تغییر رمزهای هاست، FTP و پنل مدیریت سایت
- برگرداندن بکاپ سالم
- آپلود مجدد فایلهای هسته CMS از منبع رسمی
- اسکن و پاکسازی دیتابیس با جستجوی کدهای ناشناس، خصوصا در جداول پستها و تنظیمات
- بررسی کامل کامپیوتر محلی برای آلودگی (گاهی ویروس در سیستم شماست)
جمعبندی
درک عمیق روشهای هک و انواع کدهای مخرب به شما کمک میکند همواره یک قدم جلوتر از هکرها باشید. اگر در هر موردی تردید داشتید یا احساس کردید سایتتان احتمالا آلوده شده است، توصیه میشود با کارشناسان امنیتی یا اعضای انجمن تخصصی احمدرضا کریمی مشورت کرده و اقدامات لازم را سریع انجام دهید. افزایش دانش و اجرای اصول امنیتی، بهترین سپر دفاعی شما خواهد بود.
آخرین ویرایش: