شرح اكتشاف ثغرة SQL Injection عمليًا

x32x01
  • بواسطة x32x01 ||
ثغرة SQL Injection من أخطر الثغرات الموجودة في تطبيقات الويب، وبتسمح للمهاجم إنه يتلاعب باستعلامات قاعدة البيانات ويطلع بيانات مش من حقه 👀
في البوست ده هشرحلك الفكرة بشكل عملي وبسيط من غير تعقيد، علشان تفهم إزاي الثغرة بتحصل وإزاي يتم استغلالها.

مثال عملي لاكتشاف ثغرة SQL Injection 🧪​

خلينا نفترض إن في موقع تسوق إلكتروني بيعرض منتجات مختلفة 🛒
لما تضغط على قسم الهدايا، بيظهرلك الرابط ده:
Code:
https://website.com/products?category=Gifts
في الحالة دي الموقع بيبعت استعلام SQL لقاعدة البيانات علشان يجيب المنتجات المطلوبة.



استعلام SQL اللي بيشتغل في الخلفية ⚙️​

الاستعلام غالبًا بيكون بالشكل ده:
Code:
SELECT * FROM products
WHERE category = 'Gifts' AND released = 1
وده معناه 👇
  • جلب كل البيانات (*)
  • من جدول المنتجات
  • اللي فئتها هدايا
  • واللي حالتها منشورة (released = 1)
القيمة released = 1 بتستخدم علشان تخفي المنتجات اللي لسه ما نزلتش (قيمتها 0).



فين المشكلة الأمنية؟ 🚨​

المشكلة هنا إن التطبيق مش عامل أي حماية ضد هجمات SQL Injection 😐
وده يسمح للمهاجم إنه يغير شكل الاستعلام بسهولة.
مثال على رابط خبيث:
Code:
https://website.com/products?category=Gifts'--



إزاي الاستعلام اتغير؟ 😈​

الاستعلام بعد التلاعب بيبقى كده:
Code:
SELECT * FROM products
WHERE category = 'Gifts'--' AND released = 1
الشرطة المزدوجة -- معناها تعليق في SQL
يعني أي حاجة بعدها مش هتتنفذ ❌
النتيجة؟
✔️ شرط released = 1 اتشال
✔️ الموقع يعرض كل المنتجات حتى اللي مش منشورة



استغلال أخطر باستخدام OR 1=1 💣​

المهاجم ممكن يروح لمرحلة أخطر ويستخدم:
Code:
https://website.com/products?category=Gifts'+OR+1=1--
الاستعلام هيبقى:
Code:
SELECT * FROM products
WHERE category = 'Gifts' OR 1=1--' AND released = 1
بما إن 1=1 دايمًا صح ✅
فكده قاعدة البيانات هترجع كل المنتجات بدون أي فلترة 😱



خطورة ثغرة SQL Injection 🔐​

اللي حصل ده مثال بسيط جدًا، لكن في الواقع الثغرة دي ممكن تؤدي إلى:
  • عرض بيانات مستخدمين 👤
  • تسريب إيميلات وباسوردات 📧
  • الوصول لملفات حساسة 📂
  • أحيانًا التحكم الكامل في قاعدة البيانات 💀
وعلشان كده SQL Injection من أخطر الثغرات في عالم اختبار الاختراق.



أدوات أوتوماتيك لاستغلال SQL Injection 🤖​

بدل ما تشتغل يدوي طول الوقت، في أدوات بتسهّل عليك الشغل جدًا، أهمها:
الأدوات دي بتعمل:
  • فحص تلقائي للثغرات
  • استخراج بيانات
  • تسريع عملية الاختبار



إزاي تكتشف الثغرة بنفسك؟ 🕵️‍♂️​

مفيش طريقة سحرية ✋
لازم تجربة ومحاولة، سواء يدوي أو باستخدام الأدوات.
من أشهر الحاجات اللي بتتجرب:
  • ' (Quote)
  • --
  • OR 1=1
  • UNION SELECT
وتراقب:
  • هل الموقع كسر؟
  • ترى بيانات غريبة؟
  • رسائل خطأ غير متوقعة؟
وفي منتديات اكتب كود هتلاقي شروحات أعمق وفيديوهات كتير عن SQL Injection وأنواعها المختلفة 🎥🔥
 
التعديل الأخير:
المواضيع ذات الصلة
x32x01
الردود
0
المشاهدات
1K
x32x01
x32x01
x32x01
الردود
0
المشاهدات
186
x32x01
x32x01
x32x01
الردود
0
المشاهدات
746
x32x01
x32x01
x32x01
الردود
0
المشاهدات
857
x32x01
x32x01
x32x01
الردود
0
المشاهدات
1K
x32x01
x32x01
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
2,509
المشاركات
2,702
أعضاء أكتب كود
577
أخر عضو
سراب
عودة
أعلى