الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

شويه sql injection

مغلق
بدأه valntinolove في 9 يونيو 2007 · 0 رد · 894 مشاهدة · في قواعد بيانات MySQL
مشاركة: واتساب X فيسبوك تيليجرام
#1

السلام عليكم

معايا ليكو انهرده درس جميل جدا و هوا عن

s q l i n j e c t i o n

طيب يا جماعه طبعا ثغرات الsql اللى ممكن تواجه الهاكر و فى ناس كتير اوى بتكرها لانها بتعتمد على الاوامر بشكل كبير

بس للاسف هما عايزين الحكايه حفظ مع انهم لو فهمومها هتبقا سهله جدا

المهم زى كل مره ازاى نكتشف ثغرات الsql

اولا فى ثغرات sql بتبقا فى ملفات php و فى ثغرات تبع asp و فى ثغرات تبع اماكن الدخول

اولا ثغرات الsql فى ملفات php

هيا ثغرات للاسف صعبه شويه هقولكو ليه كمان شويه

اولا ازاى انا هكتشف ان فى ثغره فى sql

فى الموقع

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

يعنى ايه!

بكل بساطه هتبقا كده

elahmadia.com/products.php?

action=SelectTree&treeview_cod=15'

هيطلعلنا خطا فى قواعد البيانات

الخطا ده ممكن يكون خطا برمجى عادى يعنى مش ثغره

طيب ازاى نعرف ان الخطا ده ثغره:)

اولا انت هتخلى الرقم اللى فى الاخر رقم مستحيل حدوثه

يعنى ايه!

يعنى انك تكتبو سالب مثلا

و بعدين تكتب الاستعلام ده

u n i o n s e l e c t n u l l/*

و هنا هنقف شويه نشرح الكود

u n i o n = دى عباره عن اداه ربط بين استعلامين يعنى انت بتامرو انو بعد ما ينفذ و يخش على الملف treeview_cod=15'

ينفذ الاستعلام بتاعك

s e l e c t=دى اداه اختيار يعنى انت بتحتار ملف مثلا اسمو userيبقا تكتب s e l e c t user

n u l l=دى فراغ يعنى انت بتختار فراغ طبعا مفيش حاجه اسمها اختيار فراغ و ده اللى هتفهمو القاعده لو فى ثغره و هتديك ايرور تانيه خالص و طبعا فى مواقع مانعه كلمه null فا ممكن نستخدم رقم واحد او صفر عل راحتك

/*=دى اداه بتوقل ان كل اللى بعدها لا ينفذ يعنى كأنو تعليق

دلوقتى الايرور الجديده دى لو قالتلك ان فى خطا فى الاستعلام selectلان عدد الحقول مش نفس العدد اللى انت دخلتو يبقا دى فعلا ثغره و تقدر تستغلها اما لو لقيت الايرور مش كده يبقا مش ثغره

طيب دلوقتى طلعت ثغره نعمل ايه يا فلنتينو

ققولكو

نزود null كمان علشان عايزين نعرف عدد الحقول

يعنى هتبقا كده

u n i o n s e l e c t n u l l,n u ll/*

طيب طلعت نفس النتيجه:s

نزود كمان واحده لحد ما تختفى الرساله خالص

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

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

98678315zv0.jpg

هنا زى ما انتو شافين ده تعريف المتغير

28897977yi3.jpg

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

و يكون الاستغلال كده مع العلم ان الملف فى الصفحه الرئيسيه للاسكريبت

www.site.com/script/recipe.php?recipeid=sql

www.site.com= الموقع اللى مركب الاسكريبت

script=اسم الاسكريبت

recipe.php=الملف المصاب

recipeid=اسم المتغير المطلوب فى الاستعلام

sql=الاستغلال

طيب دلوقتى ازاى نجيب الحقول و الاعمده

زى ما قولت ان الثغرات من النوع ده فى مجلدات الphpلازم يكون معانا الاسكريبت

و هنشوف الكلام ده فى الاسكريبت اللى معانا

دلوقتى اول ما تخش على الاسكريبت و عايز تعرف عدد الحقول فى قاعده اليوزرز او الid على حسب ما تشوفها هتلاقى ملف بى امتداد.sql ده بيكون قاعده بيانات و ده اللى بيتخزن فيه الملفات

طيب دبوقتى فتحناه و ندور

انا لقيت عندى ان القاعده اسمها users

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

asaaswf4.jpg

زى ما انتو شافين فى الصوره دى اوامر عمل قاعده بيانات بى اسم usersو هنشوف بادخلها الاعمده و عددها

ddsasu0.jpg

ده اول واحد

ssalu3.jpg

و ده التانى و هكذا لحد ما نطلعهم كلهم

طيب دلقوتى انا طلعو معايا 6 و اللى يهمنا فيهم هما login /pssword

طيب تعالو نستغلها بقا

www.site.com/script/recipe?recipeid=-1 u n i o n s e l e c t login,password,null,null,null,null f o r m u s e r s/*

كده الاستغلال النهائى و ده هيجيبلك الباسورد مشفر و اسم الادمن

طيب نشرحو من اول recipeid=-1

زى ما قولنا لو فاكرين ان احنا بنديلو رقم خيالى من عندنا و هنديهولو بالسالب

u n i o n =اداه الربط زى ما قولنا و قولنا بردو ان لازم يكون عدد الحقول مساوى لى للى فى القاعده علشان كده ضيفنا null بعدد الحقول اللى فى القاعده

select=لى الاختيار من جزء من القاعده علشان نعرضو

login,password,n u l l,n u l l,n u l l,n u l l احنا اخترنا الاتنين دول لانهم هما المهمين و عوضنا عن باقى الحقول بى null و ممكن نشيل null و نضيف اى اسم من اسماء الاعمده لو عايزين

/*=بتقولو ان اللى بعد العلامه دى ملوش لزمه

اظن كده احنا شرحنا الحاجات المهمه فى ثغرات الsql فى ملفات php و اى استفسار

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

طيب دلوفتى بالنسبه لى الحمايه منها

محدش يجيب اى متغير فى استعلام مباشر

ده بالنسبه لى اصحاب الاسكريبتات

----------------------------------------------------------------------------------------------------------------

اما اصاحاب المواقع

حاول بقدر الامكان اخفاء امتداد الملف المصاب لو مش هتعرف

استخدم الجافا فى اخفاء الاخطاء

تفشير كلمه null بس للاسف هيا مش لازم تحط n u l l و ممكن تحط اى رقم او اى كلمه بس يعمل اى حاجه ييقدر عليه

حاول تستحدم كل برامج الاختراق ضد موقعك و اعرف ثغراتو و ققفلها

او اجر هاكر علشان يقولك على ثغراتك (:D)

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

و طبعا لو كنت مبرمج حاول انك تبرمج اسكريبت لى نفسك علشان متاكد منو كمان محدش هبعرف يوصل لى اسماء الحقول حتى لو جاب الثغره مع ان بقا فى فعلا برامج ببتجيبها انما احنا نعمل اللى علينا

:cry:

هذا الموضوع مغلق.

مواضيع مشابهة