• ورود
  • هیچ محصولی در سبد خرید نیست.

آسیب پذیری Code Injection

شرح آسیب پذیری:

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

تفاوت Code Injection و Command Injection در این است که در آسیب پذیری Code Injection مهاجم می تواند کد خودش را در نرم افزار تزریق کند و در نهایت نرم افزار این کد را اجرا خواهد کرد، ولی در Command Injection مهاجم عملکرد پیش فرض نرم افزار که اجرای دستورات است را گسترش داده و Command خود را برای اجرا در کنار دستورات پیش فرض برنامه قرار می دهد و در حالت کلی عملیات تزریق کد مورد نیاز نمی باشد.

به طور مثال فرض کنید تابع eval به صورت زیر به کار رفته است.

$myvar = "varname";
$x = $_GET['arg'];
eval("\$myvar = \$x;");

در صورت عدم وجود Validation مناسب مهاجم می تواند با استفاده از دستور زیر تنظیمات PHP را به صورت غیر مجاز مشاهده نماید.

/index.php?arg=1; phpinfo
()
چگونه این آسیب پذیری را رفع کنیم ؟

1) فیلتر کردن کاراکتر های زیر در ورودی کاربر در حالت کلی (بدون توجه به نوع سیستم عامل)

|  ; & $ > < ' \  ! >> # 

2) فیلتر کردن کاراکتر های زیر در ورودی کاربر برای سیستم عامل ویندوز

( ) < > & * ‘ | = ? ; [ ] ^ ~ ! . ” % @ / \ : + , `

3) فیلتر کردن کاراکتر های زیر در ورودی کاربر برای سیستم عامل لینوکس

 { }  ( ) < > & * ‘ | = ? ; [ ]  $ – # ~ ! . ” %  / \ : + , ` 

0 پاسخ به "آسیب پذیری Code Injection"

ارسال یک پیام

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

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