5naktona - خنقتونا 5naktona - خنقتونا
random

آخر الأخبار

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

شرح ثغرة SQL Injection: دليلك الكامل للسيطرة على قواعد البيانات | 2025

LOADING...
شرح ثغرة SQL Injection
🎯 للمبتدئين BEGINNER FRIENDLY

SQL Injection دليلك الكامل للسيطرة على قواعد البيانات

يا صاحبي، تخيل إنك تقدر تخدع "أمين المكتبة" مش بس إنه يديك أي كتاب عايزه، لا ده كمان يديك مفاتيح المكتبة كلها! ده بالظبط اللي بيحصل مع ثغرة SQL Injection.

📅 2026 Edition ⏱️ 20 دقيقة قراءة 🌟 مناسب للمبتدئين
💡

قبل ما نبدأ...

بعد ما اتكلمنا عن ثغرة XSS و ثغرة IDOR، جه الوقت نواجه "الوحش الأكبر" في عالم ثغرات الويب. استعد يا معلم لواحدة من أقدم وأخطر الثغرات الأمنية على الإطلاق!

01

قبل ما نتعلم إزاي "نحقن"، لازم الأول نفهم إيه اللي بيتحقن ده وفين بيروح!

🗄️

قاعدة البيانات (Database)

دي العقل المدبر لأي موقع! فيها كل حاجة متخزنة: اليوزرات، الباسوردات، المنتجات، الرسايل... كل حاجة!

تخيلها زي خزنة عملاقة منظمة في جداول (Tables) زي Excel بس أقوى بكتير.

💬

لغة SQL

دي اللغة الرسمية اللي بنتكلم بيها مع قاعدة البيانات. زي ما بتكلم واحد بالعربي، بتكلم الـ Database بالـ SQL.

SELECT * FROM users WHERE id = 1

🔧 أشهر أوامر SQL

SELECT "أرجعلي البيانات دي"
INSERT "ضيف الداتا الجديدة دي"
UPDATE "عدّل البيانات دي"
DELETE "امسح البيانات دي"
02

📖 التعريف البسيط

ثغرة SQL Injection بتحصل لما الموقع يسيب المستخدم يدخل بيانات، والبيانات دي تترمي جوا أمر SQL من غير ما تتفلتر أو تتنضف.

يعني المهاجم بي"حقن" أوامر SQL خبيثة جوا الأمر الأصلي، ويخدع قاعدة البيانات تنفذ اللي هو عايزه مش اللي المبرمج كتبه!

🎭 تشبيه بسيط عشان تفهم

تخيل إن المبرمج كتب كود بياخد اسم اليوزر ويدور عليه في الداتابيز كده:

⚙️ الكود الأصلي
"SELECT * FROM users WHERE username = '" + userInput + "';"
✅ سيناريو عادي

لو المستخدم كتب: Ahmed

SELECT * FROM users WHERE username = 'Ahmed';

👍 تمام! بيدور على اليوزر اللي اسمه Ahmed

💀 سيناريو الهجوم

لو المهاجم كتب: ' OR 1=1--

SELECT * FROM users WHERE username = '' OR 1=1-- ';

💥 كارثة! الـ Query أصبح معناه "هات كل اليوزرز!"

🔍 تحليل الـ Payload

'
بيقفل علامة التنصيص بتاعة اسم اليوزر
OR 1=1
شرط جديد صحيح دايماً (1 = 1 طبعاً!)
--
تعليق! بيقول للداتابيز "تجاهل أي حاجة بعدي"
🎯

النتيجة: المهاجم خدع الداتابيز إنها ترجع كل اليوزرز بدل يوزر واحد، وممكن يدخل كأول يوزر (غالباً الـ Admin)!

03
الأشهر

🟢 In-Band SQLi

الحقن اللي بتشوف نتايجه

Error-Based

بتحقن Payload يخلي الداتابيز تظهر رسالة خطأ فيها معلومات حساسة.

UNION-Based

بتستخدم UNION عشان تدمج نتايجك (زي الباسوردات) مع نتايج الموقع الأصلية!

🔵 Blind SQLi

الحقن الأعمى (الاستنتاجي)

Boolean-Based

بتسأل أسئلة "أيوا/لا" وتستنتج الإجابة من سلوك الصفحة.

Time-Based

بتجبر الداتابيز تستنى (زي SLEEP(5)). لو اتأخرت، يبقى الإجابة "أيوا"!

04
1

اختبار الـ Apostrophe

أدخل ' في أي حقل إدخال أو Parameter. لو ظهر خطأ SQL، يبقى 90% في ثغرة!

?id=1'
2

اختبار الـ Boolean

جرب AND 1=1 (صفحة عادية) و AND 1=2 (صفحة مختلفة).

?id=1 AND 1=1
?id=1 AND 1=2
3

اختبار الـ Time

لو مفيش فرق مرئي، جرب SLEEP(). لو الصفحة اتأخرت، يبقى Vulnerable!

?id=1' AND SLEEP(5)-- -
💡

نصيحة مهمة

مش كل الحقول ظاهرة! دور كمان في: URL Parameters, Cookies, HTTP Headers (User-Agent, Referer), وحتى JSON APIs!

🚀

الخطوة الجاية؟

دلوقتي فهمت الأساسيات. روح على المقال المتقدم عشان تتعلم:

  • ✅ إزاي تستغل الثغرة وتسحب الـ Data
  • ✅ تقنيات تجاوز الـ WAF
  • ✅ استخدام SQLMap زي المحترفين
  • ✅ كتابة Scripts خاصة بيك
✅ تم النسخ!

عن الكاتب

Mahmoud Salman

التعليقات


اتصل بنا

إذا أعجبك محتوى مدونتنا نتمنى البقاء على تواصل دائم ، فقط قم بإدخال بريدك الإلكتروني للإشتراك في بريد المدونة السريع ليصلك جديد المدونة أولاً بأول ، كما يمكنك إرسال رساله بالضغط على الزر المجاور ...

أحدث المقالات

أحدث المقالات

تابع المدونة من هنا

مواقيت الصلاة من هنا

إجمالي مرات مشاهدة الصفحة

جميع الحقوق محفوظة

5naktona - خنقتونا