سلام دوست عزیزنوشته شده توسط Farbod2 [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
نکنه انتظار داشتید جواب بده ؟
Sql Injection یک روش تقریبا قدیمی است که از ضعف برنامه نویس وبسایت استفاده میکنه ولی خیلی خیلی میتونه خطرناک باشه . هنوز هم هستند سایتهایی که این مشکل را دارند . اما سایتی مثل P30World که با استفاده از CMS (به زبان ساده ولی نه کاملا علمی میشه گفت CMS یه نرم افزار که میشه باهاش سایت (انجمن,فروشگاه و...) ساخت !) های معروفی مثل vBulletin ساخته شده را نمیشه به این روش هک کرد !!!! به دنبال سایتهایی بگردید که مبتدی باشند (مثل سایتهای شخصی...)
با اجازه دوست عزیزی که این تاپیک را زدن توضیحات روش Sql Injection را کامل میکنم :
این روش فقط مختص ASP و یا SQL Server نیست. همه سایتهایی که برای دسترسی به اطلاعات (بانک اطلاعاتی) از دستورات ( Query های ) SQL استفاده میکنند و بر روی ورودی های کاربر کنترلی ندارند را میتوان به این روش هک کرد !! مثلا سایتی که از PHP و بانک اطلاعاتی Access استفاده میکند و برای دسترسی به بانک از Query اس کیو ال استفاده میکند...
با یک مثال این روش را توضیح میدم:
وارد شدن به همین سایت را در نظر بگیرید (لاگین کردن)
شما نام کاربری و کلمه عبور خود را وارد میکنید و بعد اینتر ... اگر نام کاربری و رمز عبور را درست وارد کرده باشید وارد سایت میشوید و در غیر اینصورت پیغام خطایی را مشاهده خواهید کرد.احتمالا برنامه نویس برای تشخیص هویت شما از یک Queryاسفاده کرده به این شکل :
نامهایی که با رنگ آب مشخص شده اند همان نام کاربری و رمز عبوری هستند که برای لاگین کردن به سایت وارد میکنید. یعنی با فرض اینکه نام کاربری را Khazaie01 و کلمه عبور را 123 وارد کرده باشید دستور بالا به Query زیر تبدیل شده و به بانک اطلاعاتی تحویل داده میشود تا آنرا اجرا کند...کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
حالا به جای رمز عبور این کد را وارد کنیم چی میشه ؟؟؟؟ :کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
از اونجایی که این رمز عبور وارد شده توسط کاربر بدون کنترل مستقیما وارد Query میشه , کد بالا داخل Query جای میگیره و Query به این شکل در میادکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
من این Query اینه :کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
از جدول USERS رکوردی را پیدا کن که نام کاربری آن برابر Khazaie01 و کلمه عبور برابر aa باشد یا رکوردی را پیدا کن که نام کاربری آن Khazaie01 باشد !!!!!! یعنی بدون دانستن پسورد Khazaie01 میتونید با این یوزر وارد سایت شوید ( به طور معمول برای ورود به سایت باید بعد از اجرای Query رکوردی پیدا شود... )
میتوانید به جای این کد کدهای دیگری را به جای پسورد وارد کنید ...