بررسی روش تزریق کد در پایگاه داده SQL Injection
توضیحات تکمیلی
بررسی روش تزریق کد در پایگاه داده SQL Injection امروزه صفحات پویا بخش عمده ای از صفحات وب سایت ها را تشکیل می دهند که در بسیاری از موارد با استفاده از دستورات SQL، اطلاعات مورد نظر را پس از اعمال به پایگاه داده و با استخراج از آن، مورد استفاده قرار می دهند.SQL Injection یا همان تزریق کد دستورات SQL، روشی است که به یک فرد آشنا به دستورات SQL این اجازه را می دهد، که از طریق وارد کردن عبارات خاص SQL بجای داده های عادی، ساختار پایگاه داده مورد استفاده آن سایت را بدست آورد و آنگاه او قادر خواهد بود که نسبت به سرقت، تغییر و یا حذف اطلاعات موجود و نیز درج اطلاعات جعلی جدید اقدام کند علاوه بر این فرد مهاجم این امکان را می یابد که ضمن رخنه به درون سرور پایگاه داده، آن را از کار بیندازد. عمدتاً توسعه گران وب، بیشتر تمرکز خود را بر روی موارد امنیتی سیستم عامل و یا WebServer میزبان برنامه های خود قرار دادند و کمتر به حفره های امنیتی موجود در کدهای خود توجه می کنند. یکی از مواردی که همواره می تواند سایت هایی را که از کاربر، داده ( Data ) دریافت می کنند را تهدید کند حملات تزریق کد در پایگاه داده یا تزریق دستورات SQL است.تزریق کد SQL روشی است که مهاجم را قادر می سازد تا دستورات SQL غیرمجاز را با بهره گیری از ضعف عدم کنترل داده های ورودی توسط برنامه نویس ( که از این ورودی ها در عبارات SQL پویای خودش استفاده می کند ) در پایگاه داده اجرا کند. نکته قابل توجه و در خور اهمیت این است که تزریق دستوراتSQL از طریق Port شماره ۸۰ (همان پورتی که سرورهای وب سایت ها از آن برای ارسال و دریافت اطلاعات به مرورگر Clinet ها استفاده میکنند) انجام می شود و بنابراین فایروال ها و دیگر سیستم های امنیتی قادر به تشخیص و جلوگیری از آن نیستند فهرست : فصل اول مقدمه شبکه اینترنت صفحههای وب وب سایت سرور امنیت شبکه انواع امنیت نفوذ ( هک ) انواع روش های نفوذ XSS XSRF Header Injection SQL Injection پایگاه داده Table Field Record دستور های SQL دستور SELECT دستور WHERE دستور UPDATE دستور DELETE دستورINSERT دستورUNION دستور SUM دستور Group BY دستور Having علامت سمی کالن فصل دوم مفاهیم تزریق کد تزریق کد SQL Injection تزریق کد در صفحه ورود کاربران تزریق کد در صفحه QueryString سوابق روش SQL Injection تست نفود وب سایت روش کارکتری روش منطقی پیغام های خطا دستورات تزریق کد SQL بایپس ByPass فصل سوم تزریق کد از طریق QueryString بررسی آسیب پذیری سایت هدف بدست آوردن تعداد ستونهای وب سایت بدست آوردن ستونهای قابل نفوذ بدست آوردن مشخصات پایگاه داده بدست آوردن نام پایگاه داده بدست آوردن ورژن PHP بدست آوردن نام جداول پایگاه داده بدست آوردن اسامی ستونهای جدول بدست آوردن محتویات ستون فصل چهارم تزریق در صفحه Login سرقت اطلاعات تغییر اطلاعات تغییر اطلاعات یک رکورد تغییر اطلاعات برخی رکوردها تغییر اطلاعات همه رکوردها درج اطلاعات جدید درج رکورد جدید درج ستون جدید حذف اطلاعات حذف یک رکورد حذف تعدادی از رکوردها حذف تمامی رکوردها حذف ستونها حذف جدول حذف پایگاه داده حمله به سرور پایگاه داده وب سایت بدست آوردن نام سرور بدست آوردن ورژن سرور بررسی آسیب پذیری سرور های SQL نفوذ به درون سرور فصل پنجم نتیجه گیری و روش های جلوگیری از حملات تزریق استفاده از رویههای ذخیره شده در SQLServer حذف کلمات و کارکترهای خطرناک اطمینان از صحت نوع اطلاعات ورودی تعیین طول مجاز برای اطلاعات ورودی رمزنگاری اطلاعات حساس عدم نمایش خطا در محیط Web نتیجه گیری و پیشنهادات منابع و مراجع