Admin
عدد المساهمات : 341 تاريخ التسجيل : 13/05/2011 العمل/الترفيه : مصور المزاج : Don't Play With Me
| موضوع: الدرس الاول لاحتراف SQL الخميس أغسطس 25, 2011 9:06 pm | |
|
بسم الله الرحمن الرحيم
اقدم لكم اليوم موضوع نقلته من احد المنتديات
وهو احتراف sql
مقدمة للدخول لعالم الحقن :
اليوم إخواني في هده الدورة راح نشوف كيف نستعمل أسلوب حقن لغة الإستعلامات البنيوية SQL injection من أجل الحصول على معلومات سرية من قاعدة البيانات Database الشيء اللدي سيمكننا من إختراق الموقع في الأخير .
فما هو السكيول إنجكشن :
يعتبر السكيول إنجكشن من بين أكثر الأخطاء البرمجية خطورة في تطبيقات الويب إد تسمح للمخترق بتنفيد بعض الأوامر التي تمكنه من الوصول إلى بعض المعلومات السرية الخطيرة كالباسوورد و اليوزر نيم وإنتم طبعا تعرفون شو نعمل بيهم لوووووول .
والأن بعد أن أخدنا فكرة عن الحقن و إستعمالاته فلندخل في الجانب التطبيقي النضري و إفهمها إنت براحتك هههههه .
أولا كيف نكتشف أن هناك خطأ سكيول إنجكشن لإستغلاله في الحقن :
فل نفترض مثلا أنه عندنا موقع نريد أن نستهدفه
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
أول عمل سنقوم به هو البحث عن متغير في الموقع ودالك بالبحث في أقسام الموقع مع مراعات ملاحظة تغير عنوان URL نشوف مثال بسيط: يعني الموقع لو فيه قسم أخبار ودخلنالو ودخلنا نقرا أول خبر سيتحول عنوان الموقع URL إلى هدا الشكل [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] هدا يعني متغير :news.php?id=1 و لإكتشاف ما إدا كانت هناك ثغرة سكيول إنجكشن فالأمر سهل تماما ودالك بإضافة أحد العلامات التالية في آخر URL
a' ' quote there is more
وإدا ضهر خطأ مثل "You have an error in your SQL syntax" هدا يعني أنها ثغرة يعني نكمل باقي المراحل نفترض أن الخطأ ضهر لينا فأول شيء راح نعملو بعد هده الخطوة هو تحديد عدد الأعمدة
تحديد عدد الأعمدة :
ولفعل دالك نستعمل ORDER BY تقولون كيف يا Cyber-Zone أقول شوف هالمثال وبتفهم إنشاء الله [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] order by 1-- : No Error [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] order by 5-- : No Error [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] order by 6-- : Error
شرح المثال هو أن عدد الأعمدة هو5 لان في رقم 6 يضهر الخطأ بينما في الأرقام بين 1==>5 ما ظهر الخطأ
والأن وصلنا لمرحلة union select ونستعمل هاتين الكلمتين من أجل إظهار الأعمد الضعيفة أو المصابة سمها ما شئت يالله شباب نر وح نطبق بس في ملاحظة هي إن union select مرتبطة إرتباطا وثيقا ب order by يعني لما إستعملنا هده الأخيرة ووجدن أن عدد الأعمدة هو5 فنفس الشيء سيكون مع union select لاحظ كيف [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] union select 1,2,3,4,5/* ok:d
مع إضافة علامة ناقص قبل الرقم إلي يكون بعد علامة تساوي وبعد ما نضغط إنتر راح تضهر بعد الأرقام على الصفحة وهدي تعني الأعمدة المصابة ومن هون إخواني أعضاء منتدى حسين إكس يبدأ مسلسل نور ومهند لووول قصدي مسلسل إستخراج المعلومات السرية
إستخراج المعلومات السرية :
فلنقل أنه عندما إستعملنا union select ظهرة الأرقام2,3,4 على الصفحة ونحن نريد أن نستخرج قاعدة البيانات و إصدارهاوالمستخدم نستخدم الأوامر التالية database() , version() , user() ok شوف كيف وراح أستخدم طريقة إستخراجهم واحد واحد و طريقة إستخراجهم مرة وحدة كلهم ودالك بإستعمال concat
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] union select 1,database(),version(),user(),5-- Or [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] union select 1,concat_ws(0x3a3a,database(),version(),user()),or here,or here,5--
& YOU will see the informations in the page
... يتبع
منقول .....
| |
|