به انجمن خوش آمدید

شما به عنوان یوزر میهمان وارد شده اید. جهت استفاده از تمامی امکانات لطقا وارد حساب کاربری خود شوید.

3 ارسال در این موضوع قرار دارد

آموزش باگ SQL injection

sql_injection.png.d65d66a37dde5a95630cc90ef1c8ea76.png

 

با عرض سلام و درود خدمت کاربران vortex-team.org

مراحل تست نفوذ Sql Injection

  1. تست آسیب پذیر بودن وب سایت
  2. یافتن تعداد ستون‌های جدول
  3. یافتن ستون آسیب پذیر
  4. یافتن نام جداول دیتابیس
  5. استخراج اطلاعات از جدول انتخاب شده

 

1- تست آسیب پذیر بودن وب سایت:

برای تست این آسیب پذیری از تک کوتیشن ( ' ) استفاده میکنیم که در جواب، اگر از طرف وب سایت تارگت، با ارور mysql() مواجه شدیم پس میتوانیم بگوییم که وب سایت اسیب پذیر است. 

Please login or register to see this code.

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

Please login or register to see this code.

دقت کنید که کلیه موارد زیر به این معناست که آن صفحه به احتمال زیاد دارای باگ SQL Injection است.

  • نمایش ارور
  • ناقص لو شدن سایت
  • بالا نیومدن کامل سایت
  • نمایش داده نشدن عکس یا متن 
  • حتی تغیر یافتن زبان (دیده شده یسری از سایتا مثلا به زبان روسیه با استفاده از کتیشن ' زبان سایت تبدیل به انگلیسی میشه اینم یعنی سایت باگ sql داره)

نمونه مثالی از نمایش ارور:

Please login or register to see this code.

Please login or register to see this code.

Please login or register to see this code.

 

صفحه زیر یک تارگت برای تست است:

1-Error_sql.thumb.PNG.ec73966eb8e2fef9d0e73bad79df8578.PNG

 

2- یافتن تعداد ستون‌های جدول:
در این مرحله برای پیدا کردن تعداد ستون سایت از دستور order by استفاده می‌کنیم.

روش استفاده از این دستور مانند زیر است:

Please login or register to see this code.

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

نکته: اگر زمانی دیدین باز صفحه بدون خطا بالا اومد از کتیشن ' استفاده کنید اگر باز بالا اومد از منفی  - پشت عدد استفاده بکنید و اگر باز بالا اومد یه مثبت + به اخر دستور اضافه کنید.

Please login or register to see this code.

در مثال زیر با وارد کردن عدد 4 ارور نشون میده:

4_order_by.thumb.PNG.e301a3b20448d39d1722c0eafd7e1f53.PNG

 

ولی با عدد 3 هیچ مشکلی ندارد. پس تعداد ستون ما 3 تا هست:


3__order_by.thumb.PNG.c1b03fb560e2ae993ab5fe03128557ec.PNG

 

3- پیدا کردن ستون های اسیب پذیر:

در این مرحله برای پیدا کردن ستون اسیب پذیر سایت از دستور union select استفاده می‌کنیم.

روش استفاده از این دستور مانند زیر است:

Please login or register to see this code.

توجه: وقتی از بایپس ها استفاده میکنیم باید تا اخر بهشون دست نزنیم اگر تغیر یا حذف کنید ستون های اسیب پذیرو نشون داده نمیشه:

یک نمونه از اجرای دستور union select به همراه بایپس:

5_union_select.thumb.PNG.e83561d20fde4802032cd1e7c18a70f5.PNG

همان تور که در تصویر بالا مشاهده میکنید ستون 2 و 3 ستون های اسیب پذیر ما است:
نکته: در عملیات تست نفوذ SQL Injection باید بسیار هوشمند باشید چون گاهی ممکن است این اعداد. در میان متن یا تاریخ یا در آدرس عکس‌ها ایجاد شوند.

از دستور version() برای فهمیدن ورژن دیتابیس و از دستور database() برای فهمیدن نام دیتابیس استفاده کرد.

روش استفاده از این دستور مانند زیر است:

Please login or register to see this code.

یک نمونه از اجرای دستور version() و دستور database() :

6_union_select.thumb.PNG.18dd53be2982c7db91b2b5b2cf0fb52e.PNG

 

4- یافتن نام جداول دیتابیس:

برای یافتن نام جداول کافی است به جای شماره ستون آسیب پذیر از group_concat(table_name) و دستور +from+information_schema.tables+where+table_schema=database()-- استفاده کنید.

روش استفاده از این دستور مانند زیر است:

Please login or register to see this code.

 

توجه: اگر زمانی دیدین فقط یک ستون آسیب پذیر وجود داره دستور رو به شکل زیر استفاده بکنید.
مثلا:

  • اگر ستون 3 اسیب پذیر باشه به روش 1 عمل کنید
  • اگر ستون 4 آسیب پذیر هست به روش 2 عمل کنید

Please login or register to see this code.

 

یک نمونه از اجرای دستور  بالا :

Please login or register to see this code.

7_union_select.thumb.PNG.1953ae9bab2ac0b45c798bded5e34f6e.PNG

 

همانطور که می‌بینید نام جداول پایگاه داده سایت استخراج شدند. حال باید نام جدول مهم رو انتخاب کنیم که در بالا جدول مهم ما ku_admin هست

جداول مهم هنگام نفوذ به سایت:

  • admin
  • administrator
  • user
  • users
  • username
  • pass
  • password
  • name
  • id

نکته: توجه کنید که من بصورت الویت بندی شده نوشتم فرقیم نداره قبل یا بعد این نام ها نوشته شده باشه مثل این جدول ku_admin

 

بدست آوردن اطلاعات موجود در جداول پایگاه داده:
در بخش قبلی ما جدول ku_admin رو انتخاب کردیم که برای استخراج اطلاعات اون از دستور زیر استفاده میکنیم.

گر این دستور را به صورت  group_concat(column_name) ویرایش کنیم و به جای information_schema.tables از information_schema.columns و به جای table_schema از table_name استفاده کنیم و مقدار database() را با نام هگزادسیمال جدول مورد نظر جایگذاری کنیم، می‌توانیم نام ستون‌های این جدول را استخراج کنیم.

یک مثال از دستورات بالا که ستون شماره 4 آسیب پذیر است و نام جدول هدف ما admin است:

Please login or register to see this code.

توجه: در قسمت 0x61646d696e همیشه قبل هگز یه 0x قرار میدیم:

 

یک نمونه مثال بروی تارگت تمیرینی  : نام جدول ما ku_admin تبدیلش میکنیم به هگز میشه 6b755f61646d696e :

Please login or register to see this code.

8_union_select.thumb.PNG.0873c5b0cb5f91add815ae0b7faf899f.PNG

 

5- مرحله استخراج اطلاعات سایت:
در این مرحله ما یوزر و پسورد مدیر سایت رو استخراج میکنیم:

  1. عبارات داخل پرانتز group_concat را با نام ستون‌های مورد نظر خود جایگذاری می‌کنیم
  2. کدهای بعد از from را نیز پاک کرده و نام جدول مورد نظر را بدون این که هگز کنیم تایپ می‌کنیم:
  3. از 0x3a استفاده می کنیم تا نتایج با : جدا شوند (0x3a معادل هگز : است)

 

یک نمونه از اجرای دستور بالا:

Please login or register to see this code.

یک نمونه مثال بروی تارگت تمیرینی  :

Please login or register to see this code.

9_union_select.thumb.PNG.6c0b7c2cf31b44d973def0a3c3b3cb9b.PNG

 

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

نکته دوم:  برای هگز کردن از سایت زیر استفاده بکنید.

Please login or register to see this link.

 

از قسمت تارگت های تمرینی میتوانید برای یادگیری استفاده بکنید.

 

هرجای آموزش به مشکلی برخورد کردین زیر همین پست اطلاع بدین
و اینکه ما هر 10 روز یک دوره رایگان آموزش تست نفوذ بصورت مبتدی در تلگرام برگزار میکنیم که میتوانید شرکت کنید.

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام خدمت گروه گرداب 

من تو یافتن تعداد ستون‌های جدول مشکل دارم برای سایت پلستیشن  سونی من مرحله اول رو انجام دادم  درست بود اما مرحله دوم این نوشته میاد چرا

 

Access Denied

You don't have permission to access "http://www.playstation.com/news_more.php?" on this server.

Reference #18.7337b9d0.1581632124.4b52f168

کلا همین نوشته روی کل صفحه هست 

ممنون میشم  جوابمو بدین 

با تشکر از گروه گرداب

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

سلام ادرس محل اسیب پذیری تارگت رو برای بنده با پیام ارسال کنید برسی کنم

به اشتراک گذاری این ارسال


لینک به ارسال
به اشتراک گذاری در سایت های دیگر

برای ارسال دیدگاه یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید دیدگاهی ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در سایت ما ثبت نام کنید. عضویت خیلی ساده است !

ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید

ورود به حساب کاربری