تزریق SQL

از Secure Coding

نسخهٔ تاریخ ‏۱۹ دسامبر ۲۰۱۹، ساعت ۰۷:۳۷ توسط Admin (بحث | مشارکت‌ها)

در این نوع از آسیب پذیری های مهاجم می تواند payload خود را در قسمت های مختلف برنامه تزریق کند. از انواع آسیب پذیری های injection می توان به تزریق sql و یا تزریق command اشاره کرد.

1-1- تزریق sql

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

Sql.png

برای مثال در تصویر بالا attacker به جای مقدار دسته بندی محصولات(Gift)این payload را وارد می کند.

' UNION SELECT username, password FROM users--