به نام خدا
با سلام
در دنیای هک آسیب پذیری های زیادی وجود داره که یکی از این آسیب پذیری ها آسیب پذیری سر ریز رشته هستش.
امروز قصد دارم با یک مثال ساده این آسیب پذیری رو برای شما شرح بدم.
ما یک برنامه ساده به زبان c داریم. که که یک رشته از ورودی کاربر میگیره و تحویل تابع آسیب پذیر vulnfunc میده.
درون تابع vulnfunc یک متغیر با طول 20 تعریف شده. و ورودی که دریافت شده توسط تابع ()strcpy کپی میشه درون متغیرمون.
وقتی هم که کار تابع تمام شد. یک پیغام که حاوی رشته ورودی ما هست در خروجی نمایش میده.
خب من برنامه رو کامپایل و اجرا می کنم.
فقط توجه کنید که یکسری از لایه های امنیتی رو توسط خود کامپایلر غیر فعال کردم. چون که قصد دارم موضوع کلی ساده تر باشه.
و کد رو با یک ورودی مناسب تست می کنیم.
خوبه مشکلی نیست.
حال اگه یک ورودی بیش از اندازه بزرگ بهش بدیم چه اتفاقی می افته.
خب خطا داد. و برنامه دچار مشکل شد.
با سلام
در دنیای هک آسیب پذیری های زیادی وجود داره که یکی از این آسیب پذیری ها آسیب پذیری سر ریز رشته هستش.
امروز قصد دارم با یک مثال ساده این آسیب پذیری رو برای شما شرح بدم.
ما یک برنامه ساده به زبان c داریم. که که یک رشته از ورودی کاربر میگیره و تحویل تابع آسیب پذیر vulnfunc میده.
درون تابع vulnfunc یک متغیر با طول 20 تعریف شده. و ورودی که دریافت شده توسط تابع ()strcpy کپی میشه درون متغیرمون.
وقتی هم که کار تابع تمام شد. یک پیغام که حاوی رشته ورودی ما هست در خروجی نمایش میده.
خب من برنامه رو کامپایل و اجرا می کنم.
فقط توجه کنید که یکسری از لایه های امنیتی رو توسط خود کامپایلر غیر فعال کردم. چون که قصد دارم موضوع کلی ساده تر باشه.
و کد رو با یک ورودی مناسب تست می کنیم.
خوبه مشکلی نیست.
حال اگه یک ورودی بیش از اندازه بزرگ بهش بدیم چه اتفاقی می افته.
خب خطا داد. و برنامه دچار مشکل شد.
نظر