![]() |
شرح بالصور لثغرات Blind Injection AuthBypas وترقيعها [align=center]السلام عليكم[/align] بسم الله الرحمن الرحيم اليوم هنشرح كيفية استغلال ثغرات Blind sql injection auth Bypass طبعا فى ناس كتيرة تريد تفهم هذا النوع من الثغرات لانها بتعانى تطبيقه بدون فهمه واليوم انا هشرحها اسباب الثغرة :- طبعا السبب جهل المبرمج بحيث انه لم يعمل فلترة للمدخلات التى يتم ادخالها فى ال query الخاص بالدخول الى لوحة التحكم ولذلك قد يضيف بعض الناس مدخلات خبيثة string قد تؤدى الى دخول لوحة التحكم بدون password او حتى معرفة اسم ال Admin طيب نشوف مع بعض هنا Query خاصة بتمرير اسم الadmin وال password الخاص فيه من خلال الlogin Box الي بلوحة التحكم ... كود PHP: طبعا هنا ال query بيطلب اسم المستخدم وكلمة مرور الadmin من خلال Post طيب ولنفترض ان اسم ال admin الحقيقى Dolla وكلمة مروره 123456 والان ادخلناهم بال Login box راح يكون ال query http://www.almlf.com/get-8-2010-almlf_com_6b0252lu.gif طبعا بعد ادخال اسم الادمن وكلمة المرور سوف يتم الدخول الى لوحة التحكم طيب الان نريد نشوف كيف هندخل بمعرفة اسم الادمن بدون كلمة المرور هنروح نكتب فى خانة ال username كود PHP: طيب نشرح الى بالون الاحمر ده الى انا كتبته فى خانة ال username اول شي وضعت اسم الادمن Dolla وضيفت علامة التنصيص ' عشان اقفل بيها العلامة الموجودة بالquery لكى تكون ال -- خارج علامة التنصيص طيب وشو فايدة ال -- : ؟؟ هي تستخدم لل commenting out : اى للتعليق واى شي بيجى بعدها بتعتبر تعليق ولازم تبقى خارج علامة التنصيص عشان يتم تنفيذها وانا وضعتها لكى اتجاهل شرط ال Password الموجود بال query معنى هذا انه هينظر لل paasword على انه تعليق يعنى ممكن نحط اى شي فى خانة ال password او نتركها فاضية طيب افرض الان اننا مش عارفبن اسم الادمن واريد ادخل الى لوحة التحكم هنضع بخانة ال username وال password الكود الاتى كود PHP: كود PHP: خارج علامة التنصيص وهيك هتقدر or تتنفذ طيب شو وظيفة OR :- وظيفة oR فى ال Query انها تتطلب قيمة شرط واحد صحيح بال query ليجعل ال query يطبق وينفذ بمعنى اننا ادخلنا فى اسم ال username nesha واحنا نعرف فى نفس الوقت ان اسم الادمن Dolla اى اننا ادخلنا قيمة خاطئة لاكن بنفس الوقت ال 't'='t' وهي قيمة true بكده الquery الخاص فينا هيتم تطبيقه لوجودة قيمة true وهي ان كلمة 't' بتساوى كلمة 't' نفس الشىء بخانة ال password صحيح اننا وضعنا كلمة المرور 123 وهي قيمة خاطئة لاكن بنفس الوقت وجود OR مع قيمة TRUE صحيحة الى هي كلمة't' بتساوى ال 't' راح يجعل مجمل قيمة ال query صحيح "TRUE" طيب لو عاوزين نسجل الدخول باول user موجود بجدول ال users نكتب فى الusername وال password كود PHP: http://www.almlf.com/get-8-2010-almlf_com_n09m984z.gif راح يكون الquery true طبعا لان ال ''='' طيب الان معانا كود برمجى من سكربت Mobilelib Gold v3 نشوف الكود http://www.almlf.com/get-8-2010-almlf_com_qvs0cpq4.gif نلاحظ هنا انه تم طلب المتغير $adminname و $adminpass وتم حمايتهم بالدالة strip_tags من اضافة الاوسمة <> لاكن بنفس الوقت لا نلاحظ انه تم الحماية بشكل سليم لانه ما استخدم اى دالة تمنع اضافة ال ' نشوف الكويرى كود PHP: وكان ممكن يتم الحماية من خلال دالة mysql_real_escape_string() وهي دالة تقوم باضافة backslash / الى المدخلات الخبية مثل ال ' وال " http://www.almlf.com/get-8-2010-almlf_com_l17iae82.gif بالــتـوفـيـق تحياتي |
الله يعطيك الف عافية اخ ماستر والله الدرس دسم وصعب بنفس الوقت وفقك الله |
اقتباس:
شكرا على مرورك نورت موضوعي تحياتي[/align] |
مشكور وبارك الله فيك |
[align=center]ahmedeto شكرا على مرورك اخي الغالي منور تحياتي[/align] |
الساعة الآن 12:27 AM |
[ vBspiders.Com Network ]