ورود | ثبت نام
اگر بعد از وارد کردن شماره موبایل خود کد تایید دریافت نکردید، حتما پوشه اسپم/پیام های مسدود موبایل خود را چک کنید ممکن است خط پیامکی ما توسط شما مسدود شده باشد.

اگر کاربر قدیمی هستید با ایمیل و پسورد وارد شوید.

جستجو پیشرفته محصولات
0
سبد خرید خالی است.
ورود | ثبت نام
اگر بعد از وارد کردن شماره موبایل خود کد تایید دریافت نکردید، حتما پوشه اسپم/پیام های مسدود موبایل خود را چک کنید ممکن است خط پیامکی ما توسط شما مسدود شده باشد.

اگر کاربر قدیمی هستید با ایمیل و پسورد وارد شوید.

باگ SQL injection چیست؟ + ویدیو

خواندن این مطلب

5 دقیقه

زمان میبرد!

باگ SQL injection چیست؟ + ویدیو

3
(2)

این بار با آموزش باگ sql injection در نیو آموز همراه شما هستیم. اگر میخواهید با یکی از خطرناک ترین آسیب پذیری های وب آشنا شوید در ادامه با ما همراه باشید.

آن چه در این مقاله می خوانید:

باگ sql injection چیست؟

باگ sql injection چیست؟

باگ SQL injection یکی از خطرناک ترین آسیب پذیری ها در سطح وب است و از طریق تزریق کد های مخرب SQL در url وب سایت اتفاق می افتد. این آسیب پذیری مربوط به پایگاه داده MySQL می باشد. اگر در وب سایتی این آسیب پذیری رخ دهد اطلاعات مهم و محرمانه آن وب سایت در خطر می افتد از جمله:

  • سرقت اطلاعات کاربران مثل ایمیل، پسورد، شماره تلفن و…
  • دسترسی به محتواهای محرمانه آن وب سایت
  • دیفیس کردن و هک سایت
  • و …

چطور این آسیب پذیری رخ می دهد؟

دلیل به وجود آمدن آسیب پذیری Sqlدر وب سایت هایی که از پایگاه داده MySQl استفاده میکنند، معمولا به دلیل کد نویسی های نادرست برنامه نویسان PHP/ASP و کانفیگ نکردن درست سرور از سمت سرویس دهندگان هاست و سرور می باشد! پس این موضوع ربطی به مشکل پایگاه داده MySQl ندارد بلکه خطاهای انسانی موجب بروز این اتفاق خطرناک هستند.

کوئری  در پایگاه داده چیست ؟

منظور از پایگاه داده همان اطلاعاتی است که در دیتابیس یک وب سایت ذخیره می شود که پر استفاده ترین و محبوب ترین پایگاه مدیریت داده MySQl می باشد. کاربرد کوئری  در پایگاه داده، تبادل داده ها و یا اطلاعات می باشد؛

با استفاده از کوئری ها میتوان درخواست ها را به سمت به سرور ارسال کرد. در دیتابیس MySQL ، این کوئری ها با زبان sql نوشته شده اند! در نتیجه اگر یک هکر به این زبان تسلط کافی داشته باشد خیلی راحت اطلاعات لازم خود را با تزریق کد مخرب SQL از سمت سرور دریافت میکند که جلو تر این موضوع را بررسی میکنیم.

چند نمونه کوئری پر استفاده در SQL :

SELECT،AND،CREATE TABLE،INSERT،UPDATE،ORDER BY،WHERE

پیشنهادی: آموزش گرفتن بک آپ از دیتابیس Mysql

آموزش باگ SQL injection

در قدم اول باید یک تارگت آسیب پذیر پیدا کنیم! روش های مختلفی برای پیدا کردن تارگت آسیب پذیر وجود دارد که راحت ترین آن استفاده از دورک هاست؛ برای کشف آسیب پذیری SQL injection در سایت ها، باید در گوگل به دنبال url هایی بگردیم که ورودی دریافت میکنند مانند آدرس زیر:

https://website.com/index.php?id=2
در آدرس بالا پارامتر id برابر است با مقدار2

اما چطور چنین تارگت هایی مثل url بالا پیدا کنیم؟ می توانید از دورک زیر برای پیدا کردن چنینurl هایی استفاده کنید:

inurl:index.php?id=2

این دورک را در گوگل سرچ کنید تا سایت هایی در url خود از index.php?id=2 استفاده کرده اند به شما نمایش داده شود.

پشنهاد میکنم برای پیدا کردن تارگت های مختلف از دورک نویسی استفاده کنید می توانید در دوره آموزش گوگل هکینگ (دورک نویسی) نیو آموز به صورت رایگان شرکت کنید:

مینی دوره آموزش گوگل هکینگ (دورک نویسی)

کشف باگ SQL injection در سایت ها

شاید از خود سوال کنید حالا چطور می توان باگ SQL injection را در وب سایت ها پیدا کرد یا اصلا چطور متوجه شویم که یک وب سایت آسیب پذیری SQL injection دارد؟

فرض کنید طبق توضیحات بالا چنین آدرسی داریم:

https://website.com/index.php?id=2

حالا به انتهای url تک کوتیشن (‘) اضافه میکنیم و اینتر میزنیم:

‘https://website.com/index.php?id=2

اگر با ارور مواجه شویم و تاثیری در لود سایت داشته باشد به احتمال خیلی زیاد این سایت آسیب پذیری sql injection دارد.

اما چطور؟ و به چه دلیل؟

زمانی که شما در انتهای url تک کوتیشن قرار میدهید و سایت به شما ارور بر میگرداند یا حتی ظاهر سایت به کلی بهم میریزد، به این معنیست که درخواست شما به سمت سرور ارسال شده و تحت تاثیر تک کوتیشن قرار گرفته.

این تک کوتیشن باعث می شود  Syntax برنامه بهم بخورد و به شما  Syntax Error  را بر می گرداند؛ چرا که سرور انتظار دارد بعد از باز کردن تک کوتیشن شما آن را ببندید! اما مهم نیست چون ما متوجه شدیم بعد از نمایش ارور، سرور درخواست های مارا دریافت میکند و حالا می توانیم از این موضوع سو استفاده کنیم.

اما اگر ارور دریافت نکردید:

ارور در صفحه سایت به شما نمایش داده نمی شود (از دید شما مخفی شده)

یا این که اصلا باگ SQL injection وجود ندارد. (درخواست های مشکوک از سمت سرور فیلتر شده است )

آموزش ابزار Sql Map

sql map یکی از قدرتمند ترین ابزار ها برای پیدا کردن باگ sqli در وب سایت ها می باشد. شما با این ابزار می توانید بعد از این که آسیب پذیری sqli را کشف کردید، با یک سری دستورات اطلاعات مهم تارگت را بیرون بکشید و به محتواهای محرمانه قربانی دسترسی داشته باشید. در واقع این ابزار فرایند اسکن و تست آسیب پذیری را به طور خودکار برای شما انجام میدهد.

ویدیو آموزش کار با ابزار Sql Map

این ابزار به صورت دیفالت در کالی لینوکس وجود دارد. پیشنهاد میکنم برای درک بهتر ویدیو آموزشی بالا را به صورت کامل تماشا کنید.

پیشنهادی: آموزش کرک پسورد هش

انواع متد های sql injection

  • متد Error Based
  • متد UNION
  • متد Boolean Based Blind
  • متد Blind Sql Injection
  • متد Time Based Blind

ما در این آموزش از متد UNION استفاده کردیم.

توضیحات تکمیلی و پایانی

در این مقاله با باگ SQL injection آشنا شدید و متوجه شدید که چطور هکر ها به دیتابیس یک سایت دسترسی پیدا میکنند و اطلاعات آن را به اشخاص دیگر با مبالغ بالا می فروشند البته این فقط یک راه نفوذ به سایت ها بود! سعی کردم تا حد امکان این موضوع را به صورت ساده و شفاف به شما دوستان عزیز توضیح بدهم. اگر به تست نفوذ علاقه مند هستید دو مقاله زیر را به شما پیشنهاد میکنم:

Nmap چیست و چه کاربردی دارد؟ – آموزش کار با انمپ

آموزش متاسپلویت -هک و نفوذ به ویندوز

امتیاز شما به این پست:

3 / 5. تعداد رای : 2

درباره نویسنده



نظرات کاربران



دیدگاهتان را بنویسید

مطالب مرتبط



محصولات جدید

آموزش Html – دوره رایگان Html صفر تا صد!
رایــگان
پکیج کرک اکانت اکسپرس وی پی ان + کانفیگ
تومان
179,000
27%
پکیج کرک اکانت هات اسپات شیلد به همراه کانفیگ
تومان
270,000
370,000
پکیج آموزش کرک ایمیل (ایمیل اکسس)
تومان
199,000
پکیج کرک اکانت استیم به همراه کانفیگ
تومان
355,000
30%
آمورش کرک اکانت کالاف دیوتی موبایل + کانفیگ vip
تومان
629,000
899,000
دوره رایگان آموزش زبان C – حل مسئله
رایــگان
دوره آموزش پسورد نویسی حرفه ای
تومان
129,000

جستجو کنید ...