جمعه, ۱۴ اردیبهشت, ۱۴۰۳ / 3 May, 2024
حملات تزریق دو مرحله ای , جدید و خطرناك
● چكیده
بسیاری از روشهای حمله از طریق تزریق كد (Code Injection)، به سمت برنامه های كاربردی تحت وب ( Web Application ) نشانه رفتهاند كه بسته به نوع روش مورد استفاده می توانند اعمالی مانند دزدیدن اطلاعات جلسه كاری (Session) یا اجرای یك دستور SQL را انجام دهند. مواقعی پیش می آید که نفوذگر می تواند یک کد مخرب را در یک محل ذخیره کند تا بعدها بتواند راهی برای اجرای آن پیدا کند. این روش به حمله دو مرحله ای (Second Order ) موسوم است. یک حمله دو مرحله ای از لحاظ اینکه کد در چه قسمتی ذخیره می شود به چند دسته تقسیم می شود.
● پیش زمینه :
در اکثر موارد هدف هکر از تزریق یک کد ، به یک برنامه كاربردی وب ، رسیدن به یک پاسخ سریع از میزبان مورد حمله است. روشهای معمول برای حمله از طریق تزریق کد به شرح زیر می باشند :
▪ Html-Embeded : با استفاده از این نوع حمله ، هكر وانمود می كند كه یك صفحه از سایت را دیفیس كرده است. این حمله از آنجا ناشی می شود كه برنامه كاربردی و یا اشكالاتی كه در ترجمه كدهای HTML در مرورگر ا وجود دارد ، نمی توانند به درستی صفحه درخواستی كاربر را تجزیه و تحلیل كنند و با خطا مواجهه می شوند و این خطا به همراه قسمتی از صفحه اصلی نمایش داده می شود و به نظر می آید كه صفحه اصلی توسط هكر تغییر كرده است.
▪ Cross-Site Scripting : معمولا برای اجرای یک کد اسکریپتی در سمت كاربر مورد استفاده قرار میگیرد که این كد توسط هکر کنترل می شود و برای اهدافی چون سرقت اطلاعات قربانی یا نصب یک تروجان روی کامپیوتر قربانی استفاده می شود.
▪ Sql Injection : این روش به جای فرستادن اطلاعات توسط یك فرم به سمت سرور ، یک کد sql را میفرستد که می تواند باعث دستیابی غیر مجاز به اطلاعات بانک اطلاعاتی یا منجر به اجرای یک اسکریپت روی سرور شود که می تواند منجر به آشکار شدن اطلاعات غیر مجاز برای هكر گردد.
▪ Buffer Overflow : در این روش هكر ، یک تکه کد خاص را به سمت سرور یا برنامه كاربردی ارسال می كند. از این روش برای تاثیر گذاری روی حافظه برنامه ها و ایجاد پتانسیل لازم برای یک حمله DOS یا اجرای یک تکه کد خطرناك استفاده می شود.
▪ File includes :یک آسیب پذیری معمول است که اجازه می دهد تا هکر اطلاعات مخربی مثل مسیر یک فایل یا متغییر های تنظیماتی سیستم عامل را تغییر دهد و یا با استفاده از اطلاعاتی كه از آنها به دست می آورد می تواند سیستم را به دست بگیرد.
مسایلی وجود دارد كه در یك حمله دخیل می باشند:
▪ زمان : چه هنگامی حمله در برنامه كاربردی تاثیر می گذارد و هكر پاسخ می گیرد ؟ به صورت بیدرنگ ، اجرا در پیش زمینه در زیر پروسه های مختلف
▪ موقعیت: در چه مكانی كدهای تزریق می شوند ؟ كلاینت ، سرور اصلی یا سرور فرعی
▪ محیط: در چه محیطی كدهای تزریقی ، اجرا می شوند ؟ مرورگر مشتری ، ایستگاه كاری مشتری، كنسول مدیریت
▪ منبع : از چه مكانی از برنامه كاربردی كد تزریق می شود؟ فرم تعیین هویت مشتری ، داده های ذخیره شده در پایگاه داده
راههای زیادی برای تزریق كدها به برنامه های كاربردی وجود دارد كه در آنها پس از تزریق كد ، هكر سریعا جواب را دریافت می كند. این دسته از حملات را ، حملات یك مرحله ای می نامیم. اما در حملات تزریق دو مرحله ای (Second-order ) هكر سریعا جوابی دریافت نمی كند و ممكن است كه اصلا برای یك یا چند ماهی اصلا هیچ قربانی برای كدهای مخرب خود پیدا نكند و در حالات دیگر امكان دارد برنامه كاربردی كه آسیب پذیر است و اجازه تزریق كد را می دهد همان برنامه های نباشد كه مورد حمله واقع می شود.
● مفهوم تزریق کد دو مرحله ای :
امروزه برنامه های کاربردی تحت وب هر روز گسترده تر و پیچیده تر می شود و تمایل زیادی به پردازش اطلاعات فرمها قبل از ارسال به سرور به وجود آمده است. حتی اگر اطلاعات برای یک مولفه قابل اطمینان باشد هیچ تضمینی وجود ندارد که دیگر مولفه ها نیز از این قانون تبعیت کنند.
▪ دسته بندی تزریق کد دو مرحله ای :
۱- Frequency-Base Primary Application :
این دسته شامل برنامه هایی است که درخواستهای کلاینت ها را با استفاده از مدلهای استاتیک دوباره پردازش می کنند. برای مثال برنامه هایی که ۱۰ جستجوی متناوب را انتخاب می کنند و یا درخواستهای معمول کاربران را مبنی بر « پیدا كردن آخرین مقاله در فلان موضوع » یا «پیشنهاد دیگر در همین مورد» را پاسخ می دهند. حمله از این روش معمولا دیگر کاربران برنامه اصلی را نیز هدف قرار می دهند.
۲- Frequency-Base Secondary Application :
این گروه شامل برنامه هایی است که در ابتدا کد تزریقی دریافت نمی کنند ولی در عوض عملیاتی از یک برنامه کاربردی را پردازش می کنند که این کار بصورت استاتیک انجام می پذیرد. مثال این گروه شامل برنامه ای است که درخواستهای وب یا فایلهای ثبت خطا را بررسی می کنند و اطلاعاتی مانند "متداولترین مرورگر وب" یا "متداولترین عبارات جستجو " و یا ... را استخراج می کنند.
حمله از این روش معمولا کاربران Admin را هدف قرار می دهد.
۳-Secondary Support Application :
این دسته شامل برنامه هایی است که بصورت داخلی برای پشتیبانی از برنامه های اصلی بکار می رود. این برنامه ها اغلب اطلاعات مشخص شده بوسیله برنامه های کاربردی اولیه را دستکاری می کنند یا نمایش می دهند و اغلب اطلاعاتی را که باید حفاظت شود را تضمین می کنند. در اغلب موارد برنامه های ثانویه برای نگهداری یا نمایش اطلاعات ارسال شده از كاربر بکار می رود تا این اطلاعات فقط توسط کلاینت یا مالک آن قابل دیدن باشد. مثال این دسته شامل برنامه هایی است که از Help-Desk و از خط تلفن برای بروز کردن اطلاعات مشتری استفاده می کنند.
حمله با این روش معمولا برنامه های کاربران داخلی را تهدید می کند و گاه ممکن است با مهندسی اجتماعی آمیخته شود. مانند تلفن کردن به قسمت پشتیبانی و گفتن اینکه "به نظر می رسد که آدرس من اشتباه است و من نمی توانم آنرا تغییر دهم.آیا شما می توانید آنرا برای من تغییر دهید..."
۴-Casscaded Submission Application :
این گروه شامل برنامه هایی (كه بیشتر برنامه های بحرانی هستند) است که استفاده چند کلاینت از یک پردازه را امکان پذیر می کند. برای مثال برنامه ای که کاربر را مجبور به ساختن یک اکانتی شامل آدرس كاربر می کند که آدرس برای عملیات برنامه استفاده می شود مانند" پیدا کردن نزدیکترین مکان به من " یا پیدا کردن افرادی که عبارت Sql " افرادی که در دانشگاه من درس میخوانند " در مورد آنها صدق می کند و نتیجه حمله معمولا روی پایگاه داده انتهایی میباشد.
● محلهای ذخیره سازی :
کدهای تزریق شده ممکن است به روشهای مختلفی ذخیره شوند و تکنیک ذخیره شدنشان معمولا نوع حمله را مشخص می کند. برای ذخیره کد معمولا ۳ محل موجود است :
۱- Temporary Storage : برای مثال جستجوی قبلی برنامه و سایر اطلاعات ذخیره شده (Data Cached)
۲-Short-Term Storage :برای مثال اطلاعات ذخیره شده در یک لاگ روزانه یا هفتگی که هر از چند گاهی نگاهی به آنان می شود.
۳-Long-Term Storage :اطلاعات در بانکهای دائمی ذخیره می شود که حذف آنها بایستی بصورت دستی انجام گیرد.
نمایندگی زیمنس ایران فروش PLC S71200/300/400/1500 | درایو …
دریافت خدمات پرستاری در منزل
pameranian.com
پیچ و مهره پارس سهند
تعمیر جک پارکینگ
خرید بلیط هواپیما
آمریکا عراق جنگ حماس نیکا شاکرمی مجلس شورای اسلامی روز معلم دولت رهبر انقلاب معلمان مجلس بابک زنجانی
ایران هواشناسی بارش باران هلال احمر آتش سوزی قوه قضاییه تهران پلیس سیل معلم شهرداری تهران آموزش و پرورش
سهام عدالت قیمت طلا قیمت خودرو قیمت دلار بازار خودرو حقوق بازنشستگان خودرو دلار سایپا بانک مرکزی ایران خودرو کارگران
سریال پایتخت مهران مدیری تلویزیون عفاف و حجاب تئاتر مسعود اسکویی سینمای ایران سینما
رژیم صهیونیستی اسرائیل جنگ غزه فلسطین روسیه ترکیه نوار غزه اوکراین چین انگلیس ایالات متحده آمریکا بنیامین نتانیاهو
فوتبال استقلال پرسپولیس علی خطیر سپاهان باشگاه استقلال تراکتور لیگ برتر لیگ قهرمانان اروپا لیگ برتر ایران رئال مادرید بایرن مونیخ
هوش مصنوعی کولر گوگل اپل عیسی زارع پور تلفن همراه تبلیغات اینستاگرام ناسا
فشار خون کبد چرب دیابت کاهش وزن