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

از Secure Coding

سطر ۹: سطر ۹:
 
[[پرونده:Sql.png]]
 
[[پرونده:Sql.png]]
 
برای مثال در تصویر بالا attacker به جای مقدار دسته بندی محصولات(Gift)این payload را وارد می کند.
 
برای مثال در تصویر بالا attacker به جای مقدار دسته بندی محصولات(Gift)این payload را وارد می کند.
<syntaxhighlight lang="Python" line='line'>
+
<pre>
 
def quickSort(arr):
 
def quickSort(arr):
 
less = []
 
less = []
سطر ۱۸: سطر ۱۸:
 
else:
 
else:
 
pass
 
pass
</syntaxhighlight>
+
</pre>
 +
 
  
  

نسخهٔ ‏۱۵ دسامبر ۲۰۱۹، ساعت ۱۹:۳۲

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

1-1- تزریق sql

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

def quickSort(arr):
	less = []
	pivotList = []
	more = []
	if len(arr) <= 1:
		return arr
	else:
		pass