سرریز بافر: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
Rezabot (بحث | مشارکت‌ها)
جز ربات:زیباسازی ویکی‌پدیای فارسی (کد) (۲.۱)
Rezabot (بحث | مشارکت‌ها)
جز ربات:مرتب‌سازی عنوان‌ها+تمیزکاری (۲.۲)
خط ۴۲:
 
با وجودی که برنامه نویس قصد ندارد برای تغییر B در مقدار B در حال حاضر تعداد شکل گرفته از بخشی از رشته کاراکتر جایگزین می‌شود. در این مثال، بر روی یک سیستم big-endian است که با استفاده از ASCII، "E" به دنبال یک بایت صفر تبدیل شدن به تعداد ۲۵۲۵۶ است.
اگر B تنها متغیر قلم دوم از اقلام داده‌های تعریف شده توسط برنامه بود، نوشتن یک رشته طولانی که رفت و گذشته از B می‌تواند باعث خطا مانند گسل تقسیم بندی شود، فسخ این روند بود.{{سخ}}
 
'''== مثال پایه‌ای'''{{سخ}} ==
تکنیک بهره برداری از آسیب پذیری سرریز بافر در معماری متفاوت است، سیستم عامل و منطقه حافظه‌است. به عنوان مثال، راه اندازی و بهره برداری در پشته (برای حافظه به صورت پویا اختصاص داده شده استفاده می‌شود)، بسیار متفاوت است از بهره برداری در پشته تماس است.{{سخ}}
 
''' پشته مبتنی بر بهره برداری:'''{{سخ}}
تکنیک بهره برداری از آسیب پذیری سرریز بافر در معماری متفاوت است، سیستم عامل و منطقه حافظه‌است. به عنوان مثال، راه اندازی و بهره برداری در پشته (برای حافظه به صورت پویا اختصاص داده شده استفاده می‌شود)، بسیار متفاوت است از بهره برداری در پشته تماس است.{{سخ}}
 
'''== پشته مبتنی بر بهره برداری:'''{{سخ}} ==
 
کاربر تمایل به لحاظ فنی ممکن است سرریزهای بافر مبتنی بر پشته این برنامه برای دستکاری در یکی از راه‌های مختلفی را به نفع خود بهره برداری کند:{{سخ}}
با جای نوشتن یک متغیر محلی است که در نزدیکی بافر در حافظه در پشته به تغییر رفتار از برنامه‌ای که ممکن است مهاجم بهره مند شوند{{سخ}}
سطر ۵۲ ⟵ ۵۶:
با استفاده از یک روش به نام "trampolining"، در صورتی که آدرس داده‌های کاربر را تامین ناشناخته‌است، اما محل در ثبت نام ذخیره می‌شود، و سپس آدرس برگشت، می‌تواند با آدرس شناسنده رونویسی است که باعث می‌شود که اجرای حکم اعدام به پرش تامین شده توسط کاربر داده‌است.
اگر محل در ثبت نام R ذخیره می‌شود، سپس پرش محل حاوی شناسنده برای مراجعه R، تماس R و یا دستور العمل مشابه، اعدام از داده‌های کاربر عرضه می‌شود. محل opcodes مناسب، و یا بایت در حافظه، می‌تواند در DLLها و یا اجرایی خود را در بر داشت.
با این حال آدرس شناسنده به طور معمول هر کاراکتر تهی نیست و محل این opcodesها می‌تواند در میان برنامه‌ها و نسخه‌های سیستم عامل متفاوت باشد. پروژه Metasploit یک پایگاه داده‌های چنین opcodes مناسب است، هر چند تنها افراد موجود در سیستم عامل ویندوز ذکر شده‌است.{{سخ}}
 
'''== هیپ، مبتنی بر بهره برداری: '''{{سخ}}==
 
سرریز بافر در منطقه پشته داده به عنوان یک سرریز پشته اشاره می‌شود و بهره برداری را به شیوه‌ای متفاوت از سرریزهای مبتنی بر پشته انجام می‌دهد. حافظه پشته به صورت پویا توسط برنامه در زمان اجرا اختصاص داده شده و به طور معمول شامل داده‌های برنامه می‌باشد.
استثمار با فساد این داده‌ها در روش‌های خاص باعث می‌شود برنامه را بازنویسی سازه‌های داخلی مانند اشاره گر لیست پیوندی انجام می‌شود. روش سرریز پشته استاندارد، رونویسی پیوندی تخصیص حافظه‌های پویا (مانند داده‌های meta malloc) و با استفاده از ارز اشاره گر منجر به بازنویسی برنامه اشاره گر تابع است.{{سخ}}
 
'''== موانع استثمار: '''{{سخ}}==
 
دستکاری بافر رخ می‌دهد که قبل از آن خوانده می‌شود و یا اعدام شده‌است، ممکن است منجر به شکست تلاش بهره برداری شود. این دستکاری می‌تواند تهدید از بهره برداری، کاهش، اما ممکن است آن را غیر ممکن سازد. دستکاری می‌تواند تبدیل به بالا و یا پایین تر مورد، حذف metacharacters و فیلترینگ از رشته‌های غیر الفبایی باشد.
با این حال، تکنیک‌ها یی برای دور زدن این فیلتر و دستکاری وجود داشته باشد ؛کد عدد و الفبایی، کدهای چند شکلی، خود را تغییر کد و بازگشت به حملات-libc. از روش مشابه می‌تواند مورد استفاده قرار گیرد برای جلوگیری از شناسایی توسط سیستم‌های تشخیص نفوذ است. در برخی موارد، از جمله که در آن کد را به یونیکد تبدیل شده، خطر از آسیب پذیری شده‌اند تحریف توسط disclosers به عنوان انکار تنها از خدمات که در واقع اعدام از راه دور کد دلخواه، امکان پذیر است.{{سخ}}
 
'''== نکات بهره برداری: '''{{سخ}}==
در دنیای واقعی سوء استفاده‌های مختلف از چالش‌های است که باید بر طرف شود برای سوء استفاده به عمل قابل اعتماد وجود دارد. این عوامل عبارتند از بایت‌های پوچ در آدرس‌ها، تنوع در محل شل کد، تفاوت میان محیط‌های مختلف مقابله با اقدامات در عمل است.{{سخ}}
 
'''NOP روش سورتمه: '''{{سخ}}
در دنیای واقعی سوء استفاده‌های مختلف از چالش‌های است که باید بر طرف شود برای سوء استفاده به عمل قابل اعتماد وجود دارد. این عوامل عبارتند از بایت‌های پوچ در آدرس‌ها، تنوع در محل شل کد، تفاوت میان محیط‌های مختلف مقابله با اقدامات در عمل است.{{سخ}}
 
'''== NOP روش سورتمه: '''{{سخ}}==
 
NOP-سورتمه قدیمی ترین و روش به طور گسترده‌ای شناخته شده برای موفقیت بهره برداری از یک سرریز بافر پشته‌است.
راه حل این مشکل، پیدا کردن آدرس دقیق از بافر به طور موثر افزایش اندازه از منطقه هدف است.