با سلام
دوست عزیز من در رابطه با SQL INjection تخصص زیادی ندارم اما در این حد می دونم که کد شما کاملا این باگ رو به ساده ترین شکل ممکن داره!
نکته: SQL Injection به دسترسی به صفحه یا غیره ..... بستگی نداره . بلکه کدی که شما به عنوان دستور به دیتا بیس میفرسین رو یکم روش ......
در دستور شما: فقط و فقط کافیه یه ' تو یکی از TextBox ها بنویسیم << سیستم امنیتی تون به ...... نائل میشه! بعد از بررسی آیب پذیری هم براحتی میشه همه اطلاعاتون رو کشید بیرون یا حتی .....
حالا راه حل چیه؟ اول اینکه شما زبانتون رو نگفتین که من بهتر کمک کنم اما به صورت عمومی میگم بقیش با خودتون:
در صورتی که یه TextBox قراره فقط عدد بخونه مثل شماره کاربر یا .... قبل از اون
String ورودی از TextBox رو به یه متغیر عددی نسبت بدین : در این صورت زمانی که هکر ' رو وارد کنه کامپایلر نمی تونه ' رو به عدد تبدیل کنه و هکر بلوک میشه (تکنیک بکار رفته در خیلی جاها از جمله بانک کشاورزی
)
اگه قراره متن هم باشه مثل: نام کاربری آدرس میل و غیره : بازم کاری نداره که!
بجای اینکه در کوئری خودتون از UserTXT.text استفاده کنید اول بیان یه String Validition از نوع Server Side بزارین (runat=server) که قبل اینکه String ورودی را به دیتا بیس بفرسته اول کاراکتر های % ' " , غیره رو جدا کنه
سوال داشتین در خدمتم
موفق و پیروز باشین
پیونوشت: فکر کنم اینجا تالار امنیت نرم افزار نه تحت وب