آشنایی با متدولوژی Burp Suite – بخش شانزدهم

در این بخش از مجموعه آشنایی با متدولوژی Burp Suite به بخش شانزدهم از این متدولوژی به استفاده از ابزار Burp Suite در شناسایی آسیب پذیری SQL Injection می پردازیم.

آشنایی با آسیب پذیری SQL Injection

آسیب‌پذیری‌های تزریق SQL زمانی به وجود می‌آیند که داده‌های قابل کنترل توسط کاربر به روشی ناامن در کوئری‌های پایگاه‌داده SQL گنجانده شود. یک مهاجم می تواند با دستکاری ورودی ها، اقدام به ارسال Query های SQL نموده و پاسخ آن را مشاهده نماید.

طیف وسیعی از حملات مخرب اغلب می‌تواند از طریق تزریق SQL انجام شود، از جمله خواندن یا اصلاح داده‌های مهم برنامه، ایجاد تداخل در منطق برنامه، افزایش سطح دسترسی در پایگاه داده و کنترل سرور پایگاه داده.

در این مثال نحوه تشخیص نقص تزریق SQL با استفاده از Burp Suite را نشان خواهیم داد. در این آموزش از برنامه های آسیب پذیر DVWA، WebGoat و Mutillidae استفاده شده که در مجموعه OWASP’s Broken Web Application Project وجود دارد.

Scanning for SQL injection flaws

ابتدا، اطمینان حاصل کنید که Burp به درستی با مرورگر شما پیکربندی شده‌است.

در تب Burp Proxy، اطمینان حاصل کنید که در بخش Proxy و تب Intercept، عبارت Intercept is off نمایش داده شده باشد.

سپس به صفحه مربوط به برنامه ای که قصد بررسی آن را دارید بروید. به Burp برگردید و در تب Intercept از Proxy، اطمینان حاصل کنید که Intercept is on تنظیم شده باشد.

در این حالت یک درخواست به سمت سرور ارسال نمایید که در این مثال ارسال درخواست به وسیله کلیک بر روی دکمه Submit انجام می شود.

یکی از روش های شناسایی آسیب پذیری SQL Injection ارسال درخواست به اسکنر Burp می باشد. بدین منظور بر روی درخواست ارسال شده راست کلیک نموده و و Do an active scan را انتخاب نمایید.

هنگامی که اسکن تکمیل شد، به قسمت Target و سپس تب Site map بروید.

در این مثال قسمت اسکنر، یک آسیب پذیری SQL Injection را شناسایی نموده است.

به منظور بررسی بیشتر، بر روی آسیب پذیری و صفحه شناسایی شده کلیک نمایید. بدین صورت در پایین صفحه (Advisory) امکان مشاهده جزیئات آسیب پذیری وجود دارد. همچنین در این بخش امکان مشاهده Request و Response هایی که Burp ارسال و دریافت نموده است نیز وجود دارد.

Manual testing for SQL injection flaws

همچنین شما می توانید با استفاده از Burp Suite، تست خود را به صورت دستی انجام دهید.

در تب Burp Proxy، اطمینان حاصل کنید که در بخش Proxy و تب Intercept، عبارت Intercept is off نمایش داده شده باشد.

به صفحه ای که قصد تست آن را دارید، مراجعه نمایید. شما می توانید برای بررسی وجود آسیب پذیری SQL Injection، یک کاراکتر خاص را به برنامه تحت وب ارسال نمایید. در این مثال ما از یک کوتیشین (single quote) استفاده نموده و پس از ارسال آن یک پیام خطا دریافت می کنیم.

این پیام خطا با قرار دادن دو کوتیشین (two single quotes) دیگر نمایش داده نمی شود.

دلیل این موضوع، وجود رشته های SQL داخل کوتیشن است. ارسال یک کوتیشین، ساختار رشته را دچار تغییر کرده و منجربه خطای نحوی می شود. ولی وجود دو کوتیشن (two single quotes) برای ساختار رشته SQL مشکلی ایجاد نمی کند و فقط مقدار رشته تغییر می کند.

اکنون که یک آسیب پذیری بالقوه SQL Injection را شناسایی نمودید، می توانید از Burp Suite برای بررسی بیشتر آسیب پذیری استفاده نمایید:

درباره نویسنده: احسان نیک آور

ممکن است دوست داشته باشید