SQL INJECTION در وب سایت

SQL INJECTION چیست؟

injection به معنای تزریق و sql injection به معنای تزریق کد sql داخل پایگاه داده و بیرون کشیدن و دستکاری اطلاعات آن می باشد. اما...

کد sql از کجا تزریق می شود؟

از هرکجا که کاربر بتواند اطلاعات وارد سایت کند. معمول ترین راه ها textbox های درون سایت و address bar مرورگر می باشد. یعنی جایی که آدرس سایت را وارد می کنید.

کد sql چگونه inject می شود؟

با یک مثال توضیح می دهیم. فرض کنید شما یک مقدار را در سایت خود از یک textBox دریافت می کنید و آن را درون پایگاه داده پردازش می کنید:

مثلا تکس باکس از شما یک نام می خواهد تا آن را از پایگاه داده جستجو کند و شما داخل آن می نویسید Ali و روی جستجو کلیک می کنید. پشت پرده دستور زیر اجرا می شود:

select * from UserTable where Name='Ali'

حال هکر وارد این صفحه می شود و به جای Ali می نویسد:

Ali' or 1=1--

حالا در پشت صحنه این کد اجرا می شود:

select * from UserTable where Name='Ali' or 1=1

اگر کمی sql بدانید می توانید بفهمید دستور بالا تمام سطرهای جدول UserTable را بیرون میکشد. زیرا 1=1 همیشه درست است. علامت -- به این معناست که بقیه کد را نخوان. این علامت به این دلیل استفاده می شد که کوتیشن آخر را که به آن دسترسی نیست خنثی کند.

چه سایت هایی مساعد sql injection هستند؟

سایت هایی که موقع گرفتن ورودی از کاربران ورودی را ارزیابی نمی کنند که تزریق نباشد. این ارزیابی روش های مختلف دارد. به مقاله زیر توجه کنید:

روش های جلوگیری از تزریق SQL INJECTION

امتیاز بدهید
امتیاز گرفته شده 4.7 از 5 توسط 101 بازدیدکننده