في عام 2016 البرتقاله التايلندي @orange_8361 استقبل رسالة ترويجية من شركة uber، وبب عين هكرجية لاحظ رابط كان موجود تحت للـ unsubscribe والي كان مثل الي بالصوره ادناه ..
وبجنونه المعهود اضاف للقيمة الموجوده في خانة الـ user_id بيلود شرطي لاختبار وجود ثغره الـ SQLi
وهو sleep(12) = 1
وهو sleep(12) = 1
بحيث كانه يقول اضافةً للـ query الاساسيه المستخدمه في الابلكيشن مع الـ user_id الي قيمته 5755 شوف لي اذا sleep(12) تساوي 1 ، فف اذا كان الموقع مصاب بيستغرق عشان ما يجيب النتيجة على الاقل 12 ثانيه، واذا مو مصاب بيسحب على الـ sleep وبيرد على الريكويزته اسرع
ورجع سوى له encoding بالـ base64 وحطه كك متغير للـ p مثل ما كان بالرابط الي بالبداية وضغط انتر ..
ثانيه ، ثانتين ، عشره ، اثنعش و يضبط البيلود وينام الموقع ١٢ ثانيه زي ما هو متوقع
ثانيه ، ثانتين ، عشره ، اثنعش و يضبط البيلود وينام الموقع ١٢ ثانيه زي ما هو متوقع
الى هنا البرتقاله عرف ان الموقع مصاب ولكنه يحتاج اثبات اقوى من الـ sleep، مثل dump لليوزر و الهوست عشان يرسل التقرير للـ uber
ولكن الي ما قلته لك يا عزيزي القارئ ان نوع الثغره هذي Blind SQL Injection واذا تسمح لي اني اقولك ان
الـ SQL Injection له انواع والناس يحبون يحطونها ضمن تشعبات كثيره ما ودي اخوض فيها
الـ SQL Injection له انواع والناس يحبون يحطونها ضمن تشعبات كثيره ما ودي اخوض فيها
ولكن الـ Blind SQL Injection باختصار ان الموقع المصاب لمن تحقنه او تلعب بالـ query حقته ما يرجع خطأ واضح او يعطيك نتيجة واضحه اذا حقنك كان صحيح
فهل يا ترى كيف حل هذي السالفه البرتقاله ؟
فهل يا ترى كيف حل هذي السالفه البرتقاله ؟
1- بالبداية سوى import للمكتبات الي يحتاجها
2- بعدين سوى سترينق base فيه كل الحروف والارقام والرموز الي تصلح تكون باليوزر والهوست
3- حط هنا البيلود الاساسي الي موجود بالرابط الاصلي
4- بعدين سوى loop من 0 الى 30 عشان يطلع اول 30 كراكتر من اليوزر والهوست
2- بعدين سوى سترينق base فيه كل الحروف والارقام والرموز الي تصلح تكون باليوزر والهوست
3- حط هنا البيلود الاساسي الي موجود بالرابط الاصلي
4- بعدين سوى loop من 0 الى 30 عشان يطلع اول 30 كراكتر من اليوزر والهوست
بكذا بيكون معنى البيلود المستخدم برقم 6 انه يجيب حرف حرف من اليوزر والهوست الموجوده بب user() ويقارن فيهم بب الحروف الموجوده بب base
ملاحظه :
⁃%d هو placeholder للرقم الي بيكون بب L (small) والي هو رقم الاندكس الي بيمشي من 0 الى 30
⁃%c هو placeholder للكاركتر الموجود في i والي هو يسوي لووب للسترينق base
⁃%d هو placeholder للرقم الي بيكون بب L (small) والي هو رقم الاندكس الي بيمشي من 0 الى 30
⁃%c هو placeholder للكاركتر الموجود في i والي هو يسوي لووب للسترينق base
فف بب اول اتيريشن لل لوب بيكون البيولد كذا
"5755 and mid(user(),0,1)='a'#"
اذا ما ضبط تتغير الـ a الى الـ b وهكذا الين ما تخلص الحروف الي بالسترينق base
7- يرجعهم بصيغة json ويسوي لهم encoding بالـ base64 ويرسل GET Request للرابط
"5755 and mid(user(),0,1)='a'#"
اذا ما ضبط تتغير الـ a الى الـ b وهكذا الين ما تخلص الحروف الي بالسترينق base
7- يرجعهم بصيغة json ويسوي لهم encoding بالـ base64 ويرسل GET Request للرابط
8- فف اذا كان الشرط صحيح وكمل الموقع شغله ورجع صفحة فف نعرف ان الحرف الي خمننا عليه صح فف يطبعه ويسوي break للـ لوب عشان يخمن الحرف الي بعده
وهكذا الين ما يجيب الحروف كلهم لليوزر والهوست
وهكذا الين ما يجيب الحروف كلهم لليوزر والهوست
شغل البرتقاله السكربت وانتظر ولا حرف ورى حرف قاعد يجيه لين اكتمل وطلّع اليوزر والهوست تبع الداتابيس المستخدمه بالموقع
ولكن خوذوا هذي الصدمه على قولة ابو طلال الحمراني ..
ولكن خوذوا هذي الصدمه على قولة ابو طلال الحمراني ..
رداً على تقريره قالت Uber ان ترى الداتابيس مو موجوده على سيرفراتنا، ولكن عطوه باونتي على الثغره هذي لانه يستطيع المهاجم من خلالها استخراج معلومات المستخدمين لبرنامج Uber
وعلق الكاتب بنهاية التقرير ان ترى يمديك ما تتفلسف مثل البرتقاله وتطفي مخك وتشغّل اوتوميتد توولز مثل sqlmap
وعلق الكاتب بنهاية التقرير ان ترى يمديك ما تتفلسف مثل البرتقاله وتطفي مخك وتشغّل اوتوميتد توولز مثل sqlmap
والى هنا نكون وصلنا للنهاية، لا تنسون تسوون لايك وسبسكرايب وشير واذا انت على التويتر فعل الجرس عشان يوصلك جديدنا اول باول ..
لا تنسون المسلمين من دعائكم 🤍🙏
جاري تحميل الاقتراحات...