مجله خبری هاست ایران » شبکه » چگونه با استفاده از ZIP Bomb از وب‌سایتمان دفاع کنیم؟
امنیت شبکه میزبانی وب

چگونه با استفاده از ZIP Bomb از وب‌سایتمان دفاع کنیم؟

استفاده از ZIP Bomb

اگر تابه‌حال وظیفه میزبانی وب‌سایت را بر عهده داشته‌اید یا حداقل یک‌بار سرور را مدیریت کرده‌اید، حتماً به‌خوبی می‌دانید که همیشه افراد و کاربرانی وجود دارند که می‌خواهند به وب‌سایت شما نفوذ کنند و خرابکاری به بار بیاورند.

حتی ادمین‌هایی که تابه‌حال وب‌سایت‌های معمولی و کم‌اهمیت را میزبانی کرده‌اند هم با IP و لاگین‌های مهاجم متعددی مواجه شده‌اند.

درواقع اگر شما یک سرور لینوکس با دسترسی SSH دارید، ممکن است از سراسر جهان موردحمله قرار گیرد. البته شما هم می‌توانید فهرست کامل درخواست‌های ورود به سرورتان را روزانه کنترل کنید. برای این منظور باید دستور زیر را وارد کنید:

zip bomb code

وردپرس محبوب گاهی عامل اصلی بروز این مشکل است

اسکنرهای آسیب‌پذیری وب‌سایت‌ها پیش از معرفی وردپرس هم وجود داشتند؛ اما همان‌طور که می‌دانید، امروزه وردپرس در سرتاسر دنیا گسترش‌یافته است. به همین خاطر اغلب اسکنرهای نقاط ضعف حالا شامل امکان اسکن‌هایی برای پوشه‌های wp-admin که به‌درستی پیکربندی نشده‌اند یا پلاگین‌های patch نشده هم هستند.

بنابراین اگر یک گروه هکر تازه‌کار و کوچک بخواهد نام و اعتباری ایجاد کند، یکی از همین اسکنرها را دانلود می‌کند و به امید دستیابی به یک وب‌سایت و خدشه‌دار کردن آن، وب‌سایت‌های متعددی را تحت تست قرار می‌دهد.

به همین خاطر ادمین‌های وب‌سایت‌ها و سرورها همیشه با لاگ‌های حجیمی در حد چندین گیگابایت پر از لاگین‌های ناموفق مواجه می‌شوند. حالا این سؤال پیش می‌آید که:

آیا روش کارسازی برای مقابله با این لاگین‌ها وجود دارد؟

پس از امتحان برخی روش‌های مرسوم ازجمله IDS یا Fail2ban، ما به شما راهکار قدیمی ZIP Bomb را پیشنهاد می‌کنیم.

ZIP Bomb چیست؟

فشرده‌سازی در قالب فایل ZIP برای ذخیره داده‌های تکراری بسیار مناسب است. به همین خاطر اگر یک فایل متنی حجیم دارید که شامل داده‌های تکراری مانند صفر است، ZIP می‌تواند آن را به بهترین شکل فشرده کند.

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

چگونه می‌توان از ZIP در اسکنرهای ناقص استفاده کرد؟

متأسفانه مرورگرهای وب قادر به درک ZIP نیستند اما می‌تواند GZIP را بفهمد. ابتدا باید فایل ۱۰ گیگابایتی GZIP را که پر از صفر است، بسازیم. البته می‌توانیم فشرده‌سازی را به روش چندلایه هم انجام دهیم اما فعلاً به ساده‌ترین روش آن می‌پردازیم.

همان‌طور که مشاهده می‌کنید، حجم این فایل حالا ۱۰ مگابایت است. البته این فایل می‌تواند فشرده‌تر هم شود اما همین حجم برای قدم اول کافی است.

پس از ایجاد این فایل، باید یک اسکریپت PHP هم برای تحویل آن به سمت کلاینت بسازیم.

می‌توانیم از این اسکریپت به‌عنوان یک روش دفاعی کاملاً ساده بهره ببریم:

این اسکریپت قطعاً قادر نیست راه‌حل نهایی دفاعی برای مشکلات شما باشد، اما می‌تواند از شما در مقابل هکرهای تازه‌کاری که پیش‌تر به آن‌ها اشاره کردیم، دفاع کند. آن‌ها اصلاً اطلاعی ندارند که همه این ابزارها دارای پارامترهای مختلفی برای تغییر user agent هستند.

وقتی این اسکریپت PHP فراخوانی می‌شود، چه اتفاقی می‌افتد؟

کلاینتنتیجه
IE 11حافظه به‌سرعت پر می‌شود، IE هنگ می‌کند
Chromeحافظه به‌سرعت پر می‌شود، Chrome خطا می‌دهد
Edgeحافظه به‌سرعت پر می‌شود، مرورگر هنگ می‌کند و در حالت بارگذاری باقی می‌ماند
Niktoظاهراً مشکلی درروند اسکن وجود ندارد، اما هیچ خروجی به نمایش درنمی‌آید
SQLmapحافظه آن‌قدر پر می‌شود که مرورگر هنگ می‌کند و دیگر پاسخ نمی‌دهد
منبع sitepoint