wait لطفا صبر کنید
صفحه اصلی  » مقالات
1394/01/15
8481
00

حملات SQL Injection (بخش اول)

در حملات تزریق (Injection) همانطور که از نامشان مشخص است، کاربر بدخواه با تزریق کد و یا کوئری به برنامه های وب به اهداف بدخواهانه خود دست می یابد. در حملات تزریق SQL نیز، کاربر بدخواه به جای ارسال داده های معتبر، داده های کوئری ( SQL Query ) را به سرور وب ارسال کرده، سرور وب و پایگاه داده آن را مورد حمله قرار داده و به اطلاعات محرمانه آن دست می یابد. کاربر بدخواه قادر به انجام اعمال مخربی چون ورود غیر مجاز به سیستم، دستیابی و یا تغییر اطلاعات موجود در پایگاه داده و ... خواهد بود.

در حملات تزريق همانطور كه از نامشان مشخص است، كاربر بدخواه با تزريق كد و يا كوئري به برنامه هاي وب به اهداف بدخواهانه خود دست مي يابد. در حملات تزريق SQL نيز، كاربر بدخواه به جاي ارسال داده هاي معتبر، داده هاي كوئري (SQL Query) را به سرور وب ارسال كرده، سرور وب و پايگاه داده آن را مورد حمله قرار داده و به اطلاعات محرمانه آن دست مي يابد. كاربر بدخواه قادر به انجام اعمال مخربي چون ورود غير مجاز به سيستم، دستيابي و يا تغيير اطلاعات موجود در پايگاه داده و ... خواهد بود.

كاربر بدخواه مي تواند از پارامترهاي موجود در صفحات وب به عنوان راه نفوذ استفاده كند. به عنوان مثال در صفحه ورود با كنترلهاي نام عبور و يا كلمه عبور. بدين ترتيب كه به جاي وارد كردن نام عبور، داده هايي از اسكيوال را وارد كرده كه موجب انجام عملياتي در پايگاه داده گردد. به عنوان مثال تصوير زير را در نظر بگيريد: با قرار دادن كوئري "’OR 1=1--" در بخش username از صفحه ورود، كوئري موجود در كد برنامه وب به صورت زير (بخش سوم از تصوير) تغيير كرده و به كاربر بدخواه اجازه نفوذ مي دهد.

 
 
كاراكترهاي -- (كاراكترهاي توضيحات) باعث مي گردد كه مابقي دستور SQL كامنت گردد. علاوه بر آن قسمت مهم ورودي كه شرط هميشه درست (or 1=1) مي باشد باعث مي گردد دستور با شرط درست اجرا شده و كاربر بدون نياز به پسورد وارد سيستم گردد.
 علاوه بر مثال بالا، كاربر بدخواه ممكن است مقادير زير را هم وارد كند. مقادير زير را در دستور SQL بالا بگذاريد تا ببينيد چه اتفاقي مي افتد:

·         abc' or 1=1

·         abc'; DROP TABLE users (جدولي حذف مي شود.)

·         abc' or system_user = 'sa'  (اگر يوزر sa باشد كه معمولا هست شرط or درست مي گردد)

·         abc'; exec xp_cmdshell('fdisk.exe') (فرمت كردن ديسك)

·         …

اين دسته از حملات خيلي گسترده هستند. الگوهاي متعددي از اين حملات را مي توان در سايت هاي معتبري چون OWASP پيدا كرد.

داده هاي حمله ارسالي ممكن است به صورت دستي و از طريق پارامترهاي صفحات وب به برنامه وب تزريق گردند.

همچنين امروزه ابزار بيشماري براي تست و يا نفوذ به برنامه هاي وب به بازار آمده اند. اين ابزارها نيز همانند ديگر ابزارهاي امنيتي يك شمشير دو لبه مي باشند و همانطور كه ابزاري براي كمك به تست نفوذ به سيستم ها و نرم افزارها مي باشند، مي توانند مورد استفاده حمله كنندگان قرار گرفته و حملات به برنامه هاي وب را نيز به صورت اتوماتيك انجام دهند. به عنوان مثال ابزار BurpSuit و havij از ابزاري هستند كه به صورت اتوماتيك داده هاي حمله توليد كرده و به برنامه وب مورد نظر ارسال مي كنند.
 

تماس با ما

ایمـیل : I N F O @ D E P N A . C O M
 دفتر تهران : خیابان کارگر شمالی - بعد از مسجد النبی - خیابان ابراهیمی (17) - پلاک 140
تلفن:88019001-021
 دفتر قم : خیابان 45 متری صدوقی - 20 متری فجر - خیابان دانش - کوی 14 - پلاک 10
تلفن:32906868-025