ابزار sqlmap
در این بخش به بررسی ابزار sqlmap می پردازیم، SQLMap یک ابزار تست نفوذ است که برای بررسی آسیبپذیریها و نفوذ به سیستمهای مبتنی بر پایگاه داده SQL استفاده میشود. این ابزار به طور خاص برای تست نفوذ به وب سایتها و برنامههای تحت وب که از پایگاه دادههای SQL استفاده میکنند، طراحی شده است.
چه کارهایی می شود با ابزار sqlmap انجام داد ؟
شما می توانید با استفاده از ابزار sqlmap به راحتی وب سایت های آسیب پذیر به باگ SQL Injection را شناسایی کنید، بعد از این شما می توانید دسترسی کامل به پایگاه داده آن سایت داشته باشید و اقدام به عملیات های ذکر شده بکنید:
- جمع آوری اطلاعات در رابطه با نوع پایگاه داده و همچنین اطلاعاتی در رابطه با سرور قربانی.
- لیست کردن تمام پایگاه های داده موجود در سرور.
- لیست کردن تمام جداول یک پایگاه داده مشخص.
- دانلود تمام اطلاعات جداول پایگاه داده.
- ویرایش و حذف اطلاعات جداول.
و کلی عملیات دیگر که در ادامه به آن اشاره خواهد شد، همه اینها با استفاده از این ابزار قابل پیاده سازی هستند.
نصب ابزار sqlmap
حجم این ابزار تقریباً 10.51 MB
می باشد و برای نصب آن از دستور زیر استفاده می کنیم:
sudo apt install sqlmap
پیش نیاز ها (Dependencies)
- python3
- python3-magic
نحوه استفاده از ابزار sqlmap
sqlmap -u "https://example.com/page/?id=1"
این دستور میگوید که با استفاده از روش GET، پارامتر id را در آدرس https://example.com/page/ مورد آزمایش قرار دهد و آسیبپذیریهای SQL Injection را در آن جستجو کند. این دستور از پارامتر -u
برای مشخص کردن URL استفاده میکند. همچنین نحوه اجرای حمله با استفاده از روش POST داخل ویدیو کامل توضیح داده شده است.
در اینجا https://example.com/page/ باید آدرس صفحه وب مورد نظر باشد و id=1 نشان دهنده پارامتر id با مقدار 1 است. شما میتوانید آدرس صفحه وب و پارامترهای دیگر را بر اساس نیاز و ساختار URL موردنظر خود تغییر دهید.
در نهایت اگر آدرس مشخص شده به حملات SQL Injection آسیب پذیر باشد SQLMap این را به شما اطلاع می دهد و به عنوان خروجی یکسری اطلاعات اولیه در رابطه با نوع پایگاه داده و سرور در اختیار شما می گذارد.
۱. نحوه لیست کردن پایگاه های داده
برای لیست کردن پایگاههای داده موجود در یک سرور، میتوانید از SQLMap بهره ببرید. برای این کار، شما باید از آپشن --dbs
استفاده کنید.:
sqlmap -u "URL" --dbs
در این دستور، URL
باید آدرس وب سایت یا صفحه مورد نظر باشد. SQLMap با استفاده از این دستور به سرور مرتبط متصل میشود و لیست پایگاههای داده موجود را بازیابی میکند.
۲. نحوه دسترسی به جداول یک پایگاه داده
پس از شناسایی نام پایگاه داده موردنظر با استفاده از SQLMap، میتوانید به جداول آن پایگاه داده دسترسی پیدا کنید. برای این کار، شما باید از آپشن --tables
و نام پایگاه داده موردنظر استفاده کنید:
sqlmap -u "URL" -D database_name --tables
در این دستور، URL
باید آدرس وب سایت یا صفحه مورد نظر باشد و database_name
نام پایگاه داده موردنظر است. SQLMap با استفاده از این دستور به سرور متصل میشود و لیست جداول موجود در پایگاه داده را بازیابی میکند.
۳. دانلود تمام اطلاعات یک جدول در پایگاه داده
برای دانلود تمام اطلاعات یک جدول در پایگاه داده با استفاده از SQLMap، میتوانید از آپشن --dump
و نام جدول مورد نظر استفاده کنید:
sqlmap -u "URL" -D database_name -T table_name --dump
در این دستور، URL
باید آدرس وب سایت یا صفحه مورد نظر باشد، database_name
نام پایگاه داده و table_name
نام جدول مورد نظر است.
پس از اجرای دستور، SQLMap اطلاعات موجود در جدول را بازیابی میکند و نمایش میدهد. این شامل تمام رکوردها و ستونهای موجود در جدول می باشد.
معمولاً در نهایت خروجی به عنوان یک فایل CSV روی سیستم شما ذخیره می شود که آدرس فایل برای دسترسی به آن توسط SQLMap به شما گزارش داده خواهد شد.
۴. دانلود اطلاعات تعدادی ستون خاص از یک جدول در پایگاه داده
فرض کنید جدولی داریم که ستون های id ,firstname ,lastname ,username ,password را دارد، ما می خواهیم تنها اطلاعات ستون های username و password آن را جمع آوری کنیم، برای این کار از دستور زیر استفاده می کنیم:
sqlmap -u "URL" -D database_name -T table_name -C username,password --dump
توضیحات در رابطه با پارامتر های دستور بالا:
sqlmap
نام برنامه اصلی که در اجرای آن از دستورات SQLMap استفاده میشود.-u "URL"
آپشن-u
برای مشخص کردن آدرس URL وب سایت یا صفحهای است که قصد دارید تست نفوذ SQL Injection را روی آن انجام دهید.-D database_name
آپشن-D
برای مشخص کردن نام پایگاه داده مورد نظر است که در آن جداول و دادهها قرار دارند.-T table_name
آپشن-T
برای مشخص کردن نام جدول مورد نظر است که قصد دارید از آن دادهها را دریافت کنید.-C username,password
آپشن-C
برای مشخص کردن نامهای ستونهایی است که میخواهید دادهها را از آنها استخراج کنید. در این مثال، نام دو ستون username و password در نظر گرفته شده است.--dump
این آپشن برای استخراج و نمایش دادههای موجود در ستونهای مشخص شده استفاده میشود. با استفاده از این آپشن، SQLMap دادههای موجود در ستونهای انتخاب شده را دریافت و نمایش میدهد.
برگه تقلب SQLMap
دفترچه راهنمای ابزار SQLMap
شما می توانید مستندات رسمی این ابزار که به زبان انگلیسی هستند را مطالعه کنید:
همچنین برای مطالعه manual این ابزار از دستور زیر استفاده می کنیم:
man sqlmap
دانلود ویدیو با کیفیت Full HD
داخل این ویدیو نحوه دور زدن فایروال و تعدادی پارامتر مهم و کاربردی دیگر آموزش داده شده است.
آیا این مطلب برای شما مفید بود ؟