SQL Server – درک SQLinjection PAYLOAD؟

من درباره SQL Injection در SQL-Server خواندنی بودم و من یک تکنیک را دیدم که به من اجازه می دهد هر اطلاعاتی را از پایگاه داده از طریق خطاها نشان دهد

فرض کنید این سایت آسیبپذیر است:

 www.victim.com/showproducts .aspx؟ category = دوچرخه

و هنگامی که من این کد را بعد از مقدار پارامتر قرار می دهم:

 www.victim.com/showproducts.aspx؟category=bikes و 1 = 0 / نام کاربری

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

 تبدیل در هنگام تبدیل ارزش varchar 'admin' به نوع داده int

اولین نشان داده شده در نام ستون و غیره را نشان می دهد: admin

هنگامی که من سعی می کنم نام کاربری دیگری را حذف کنم، مقدار "fist" admin را از طریق:

 www.victim.com/showproducts.aspx؟category حذف کنم = دوچرخه و نام کاربری نه در ('admin') AND 1 = 0 / usernaame؛

اما هنوز هم ارزش اول "admin" را دریافت می کند. چرا ؟ و چگونگی به دست آوردن ارزش بعدی از این تکنیک …