9 تغريدة 19 قراءة Dec 12, 2021
سلام عليكم ورحمة الله وبركاته، غالباً نلاحظ ان الاغلب يتكلم عن الثغرات، طرق استغلالها، لكن قليل نشوف كيف نكتشف الثغره عن طريق الكود اي بمعنى ان نحلل كود السكربت و نطلع الثغرات، فحبيت اليوم اكتب جزء بسيط عن اكتشاف ثغرات sqli في سكربتات وراح تكون php صديقتنا اليوم
#SqlInjection
طبعا في البداية راح نتعرف على 3 اشياء في php الا وهي
1-$_GET
2-$_POST
3-$_REQUEST
طبعا في البداية جميع الانواع الي فوق هي SuperGlobal و ايش هي السوبر قلوبل؟
السوبر قلوبل ممكن يتم الوصول لها من اي كلاس او فونكشن
# ممكن النقطة هذي ماتهمك روح لتغريدة الي بعدها
اول نوع
1-$_GET
هذا النوع باختصار انه يكون واضح بـ url (الرابط) كيف؟ وكيف يصير؟ ناخذ مثال لو افترضنا عندنا الكود هذا
$id=$_GET['x'];
عندي متغير باسم id قيمتة $_GET['x']
اي عندي بارمتر اسمه x بيكون واضح برابط
http://localhost/t.php?x=2
راح تكون قيمة المتغير id هي 2
النوع الثاني
2-$_POST
هذا النوع ماراح يكون ظاهر برابط و الاغلب يكون بصفحات تسجيل الدخول،رفع الملفات،البحث
وتقدر تعدل على البيانات المرسلة عن طريق Burp او اي اداة اخرى , كيف تكون صياغته بالكود
$name=$_POST['aa'];
راح يكون عندنا بارمتر باسم aa قيمت البارمتر تتخزن بالمتغير name
النوع الثالث
3-$_REQUEST
هذا النوع هو مكس بين النوعين السابقين راح يقبل GET او POST
لو اخذنا مثال
$how=$_REQUEST['id'];
لو بغيته GET حيجي
http://test/x.php?id=8
ولو بغيته POST حيجي كذلك
http://test/x.php
id=8
ميزته جامع لك بين النوعين السابقين
طيب؟ خلصنا؟ لا اكيد 😅
في البداية نشرح سطر سطر
اول سطر طبعا انكلود لملف الكونفق تبع الاتصال في قاعدة البيانات
سطر الثاني متغير id تتخزن بداخلة قيمة البارمتر id يعني بيكون كذا شكل الرابط
http://test/hospital.php?id=2
راح تكون قيمة المتغير id هي 2
نكمل في التغريدة الجايه
السطر الثالث هو متغير اسمه sql بداخله استعلام سكيول
لو افترضنا كانت قيمة المتغير id 2
كيف ممكن يكون شكل الاستعلام الي بداخل متغير sql
حيكون بشكل هذا
SELECT * from hospital where hospital_id=2
لو نلاحظ ان متغير id ماعليه اي تحقق من القيمة لو تكتب نص او رموز ماراح يتم منعها نهائياً
السطر الرابع و الاخير هو دالة تنفيذ الاستعلام على القاعدة وهي mysqli_query
الكود نهائياً مافيه اي تحقق بكذا اقدر عن طريق url
احقن اكواد لو وضعت في البارمتر id القيمة التالية
2; DROP TABLE admin;
طبعا انت ماتبغى تحذف جدول الادمن 😂😂 بس هذا كمثال او ممكن بدال حذف الجدول تحقن
اتمنى بالاخير ان احد استفاد لو 1% بالمية ، و اعتذر على الشرح الي على السريع

جاري تحميل الاقتراحات...