عنوان پایان نامه : بررسی روش تزریق کد در پایگاه داده SQL Injection
قالب بندی : PDF
قیمت : رایگان
شرح مختصر : امروزه صفحات پویا بخش عمده ای از صفحات وب سایت ها را تشکیل می دهند که در بسیاری از موارد با استفاده از دستورات 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
نتیجه گیری و پیشنهادات
منابع و مراجع
یادگیری یک زبان برنامه نویسی دید ما را به علم کامپیوتر بسیار گسترده تر می کند. از طرفی برنامه نویسی نحوه فکر کردن را به ما می آموزد.
عمومیت زبان C++ در میان زبان های برنامه نویسی بسیار بالا است و می تواند به عنوان اولین زبان نیز یاد گرفته شود و به پیش نیاز دیگر احتیاج نباشد. برنامه نویسی به زبان C++ نسبت به C دارای قدرت بیشتری است. کارهایی می توان انجام داد که در C برای انجام آنها (در صورت امکان) زحمت بیشتری نیاز است. زبان C++ در دو قسمت آموزش داده می شود. در قسمت اول (همین مجموعه) دستورات و ساختمان داده ها معرفی می شود و در قسمت دوم مفاهیم شی گرایی آموزش داده خواهد شد.
فهرست :
قسمت اول:
انواع داده ها – انواع عملگرها – دستورات ورودی و خروجی و …
دستورات شرطی و تکرار
آرایه – رشته
نوع شمارشی – استراکچر – یونیون
اشاره گر
تابع
قسمت دوم:
کلاس – شی – سازنده و مخرب – تابع و کلاس دوست و …
اعضای کلاس با ویژگی استاتیک
وراثت
پلی مورفیسم
سربارگذاری عملگرها
قالب
فایل
آزمون با حل
مناسب برای
دانشجویان رشته های فنی و مهندسی
افراد علاقمند به برنامه نویسی
ساختمان داده ها یکی از دروس مهم و پایه ای دانشگاهی است که پیش نیاز دروس مختلف رشته کامپیوتر است و به عنوان مبحثی که نکات فراوانی دارد، در کنکور کارشناسی ارشد کامپیوتر و کنکور دکتری هوش مصنوعی و نرم افزار از دروس با ضرایب بالا می باشد. آموزش ساختمان داده ها، توسط مهندس فرشید شیرافکن، یکی از بهترین مدرسین مسلط به مباحث ساختمان داده ها، ارائه شده است.
فهرست :
با افزایش روز افزون اطلاعات، فرآیند ذخیره، بازیابی و استخراج اطلاعات از اهمیت ویژه ای برخوردار است. در درس ذخیره و بازیابی اطلاعات معماری روش ذخیره سازی، پیکربندی ورودی/خروجی، عملکرد دیسک و سامانه های ذخیره ساز، پیکربندی دیسک، تکنیک های ورودی/ خروجی رسانه ها، مفهوم سیستم فایل، شاخص بندی و درهم سازی مورد بحث قرار می گیرد. آموزش ذخیره و بازیابی اطلاعات، توسط مهندس فرشید شیرافکن، یکی از بهترین مدرسین مسلط به این مباحث، ارائه شده است.
فهرست :
سیستم عامل یا سامانه عامل (Operating System) بدون شک مهمترین نرم افزار در کامپیوتر است. سیستم عامل اولین نرم افزاری است که پس از روشن کردن کامپیوتر مشاهده می شود و همچنین آخرین نرم افزاری خواهد بود که قبل از خاموش کردن کامپیوتر مشاهده می شود. سیستم عامل نرم افزاری است که مدیریت برنامه ها را به عهده گرفته و با کنترل، مدیریت و سازماندهی منابع سخت افزاری امکان استفاده بهینه و هدفمند آنها را فراهم کرده و بستری را برای اجرای نرم افزارهای کاربردی فراهم می کند. آموزش سیستم عامل، توسط مهندس فرشید شیرافکن، یکی از بهترین مدرسین مسلط به این مباحث، ارائه شده است.
فهرست :
پایگاه داده ها یکی از دروسی است که دانشجویان رشته کامپیوتر باید در مقطع کارشناسی بگذرانند. در این مجموعه ابتدا مفاهیم اولیه در پایگاه داده تدریس می شود. سپس در فصل دوم نمودار ER و در فصل سوم مدل رابطه ای تدریس می شود. در ادامه جبر رابطه ای و SQL و در انتها وابستگی و نرمال سازی به زبانی بسیار ساده تدریس می شود. از این آموزش می توان جهت آمادگی برای کنکور ارشد نیز استفاده کرد. هدف از این آموزش، آشنایی با مفاهیم و معماری چندسطحی سیستم پایگاه داده و نقش DBMS، معرفی مدل های داده خصوصا مدل رابطه ای و نحوه ترسیم نمودار ER و نرمال سازی پایگاه داده است.
فهرست :
در کتاب نظریه زبان ها و ماشین با سه موضوع “زبان، گرامر و ماشین” آشنا می شوید. این درس پیش نیاز درس طراحی کامپایلر است. با یادگیری زبان ها و گرامرها می توانید نحوه کار کامپایلر و همچنین طراحی زبان های برنامه سازی را متوجه شد. یادگیری این درس بدون مدرس کار ساده ای نمی باشد و ما در این آموزش تجربه حداقل پانزده سال تدریس این درس را در اختیار شما گذاشته ایم. به امید اینکه دعای خیری برای ما شود.
فهرست کتاب :
فصل ۱ : عبارت منظم – زبان منظم
عبارت منظم
زبان
اجتماع و اشتراک
اتصال
معکوس
مکمل
بستار
هم ریختی
تقسیم راست
زبان منظم
بسته بودن زبان های منظم
لم تزریق
فصل ۲ : گرامر – گرامر منظم
گرامر
انواع گرامر
زبان تولید شده توسط گرامر
گرامر منظم
فصل ۳ : اتوماتای متناهی (DFA, NFA)
انواع ماشین
ماشین های متناهی
پذیرنده متناهی معین (DFA)
زبان ها و DFA ها
حالت دام (تله)
مکمل DFA
پذیرنده متناهی نامعین ( NFA)
هم ارزی DFA و NFA
ارتباط گرامر منظم با ماشین متناهی
کاهش تعداد حالات در ماشین های متناهی
نحوه تشخیص منظم بودن یک زبان
فصل ۴ : زبان و گرامر مستقل از متن
گرامر مستقل از متن
گرامر ساده
بسته بودن زبان های مستقل از متن
لم تزریق برای زبان های مستقل از متن
لم تزریق برای زبان های خطی
فصل ۵ : ابهام – ساده سازی گرامر – فرم های نرمال
ابهام در گرامر و زبان
ساده سازی گرامرهای مستقل از متن
حذف متغیرها و قوانین بی فایده
حذف قوانین
حذف قوانین واحد
فرم های نرمال گرامر مستقل از متن
فرم نرمال چامسکی
فرم نرمال گریباخ
فصل ۶ : اتوماتای پشته ای (DPDA, NPDA)
اتوماتای پشته ای نامعین
تابع انتقال
پیکر بندی لحظه ای
اتوماتای پشته ای معین
تشخیص مستقل از متن بودن یک زبان
زبان مستقل از متن معین
ساخت اتوماتای پشته ای با استفاده از گرامر در فرم گریباخ
فصل ۷ : ماشین های تورینگ (TM)
ماشین تورینگ استاندارد
ماشین تورینگ در نقش پذیرنده زبان
ماشین تورینگ به عنوان مترجم
مدل های دیگر ماشین تورینگ
سکون دار
با نوار نیمه نامتناهی
آف لاین
با حافظه پیچیده تر
چند نواره
چند بعدی
نامعین
آتاماتای کراندار خطی (LBA)
فصل ۸ : زبان های بازگشتی – گرامر بدون محدویت و حساس به متن
زبان های بازگشتی و بازگشتی شمارش پذیر
گرامر بدون محدودیت
گرامر حساس به متن
ارتباط بین زبان ها، گرامرها و ماشین ها
سلسله مراتب چامسکی
بررسی بسته بودن زبان ها تحت عملگرها
فصل ۹ : تصمیم پذیری – کاهش پذیری
زبان های تصمیم نا پذیر
زبان های تصمیم پذیر
تصمیم پذیری در زبان های منظم
برشمارنده
کاهش پذیری
مناسب برای
کنکور کارشناسی ارشد مهندسی کامپیوتر
کنکور کارشناسی ارشد مهندسی فناوری اطلاعات IT))
کنکور کارشناسی ارشد علوم کامپیوتر
عموم علاقه مندان به یادگیری مباحث مهندسی کامپیوتر