أخطر الثغرات اللى ممكن تدمر قاعدة بياناتك SQL Injection

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

مثال على SQL Injection يطيرلك table كاملة:
تخيل عندك SELECT Statement بالشكل ده لاسترجاع بيانات مستخدم بناءً على الـ id:
Code:
SELECT * FROM users WHERE id = ${req.query.id}
لو ال attacker كتب في الـ id القيم التالية:
Code:
1; DROP TABLE users;
ال SELECT Statement هتبقى بالشكل ده عند التنفيذ:
Code:
SELECT * FROM users WHERE id = 1; DROP TABLE users;
بمجرد تنفيذ الكود، كل بيانات المستخدمين هتختفي للأبد لان لو خدت بالك دول بقوا 2 queries مش query واحد. شوفنا المشكلة ولكن إزاي تمنع SQL Injection وتحمي بياناتك؟
1️⃣ استخدم الـ Prepared Statements – الطريقة الصح هي انك تمرر القيم ك substitutions باستخدام (?) بدل متحطها علطول في ال query:
Code:
const query = "SELECT * FROM users WHERE id = ?";
db.execute(query, [req.query.id]);
2️⃣ ال Input Validation – لازم تتأكد إن القيم المدخلة متوافقة مع نوع البيانات المتوقع، لو id لازم يكون رقم قبل ما تحطه في ال query بتاعك فلو حط string بدل int علطول يرميله error.
3️⃣ تحديد صلاحيات قاعدة البيانات (Database Privileges) – الحساب المستخدم للاتصال بقاعدة البيانات مايكونش عنده صلاحيات لحذف الجداول (DROP TABLE)، حتى لو حصل اختراق، الضرر يكون محدود.
4️⃣ استخدام ORM بدل ال Queries المباشرة – أدوات زي Sequelize أو Prisma بتساعد في بناء Queries محمية تلقائيًا وتقلل احتمالية حدوث SQL Injection.
5️⃣ ال Logging & Monitoring – وجود تسجيل للأنشطة (Audit Logging) يساعد في اكتشاف أي محاولة اختراق قبل ما تسبب ضرر كبير.
الأمان مش رفاهية وخاصة لو شغال في مجال highly regulated، فلو كنت مبرمج، لازم تتأكد إن أي SQL Query في الكود محمي بشكل صحيح. لأن مجرد خطأ بسيط ممكن يخليك تاني يوم متصدر الاخبار عال BBC!
 
المشاركات المتشابهة
x32x01
الردود
0
المشاهدات
79
x32x01
x32x01
x32x01
الردود
0
المشاهدات
93
x32x01
x32x01
x32x01
الردود
0
المشاهدات
180
x32x01
x32x01
x32x01
الردود
0
المشاهدات
217
x32x01
x32x01
x32x01
الردود
0
المشاهدات
171
x32x01
x32x01
الوسوم : الوسوم
sql injection أكتشاف ثغرات المواقع ثغرات المواقع
الدخول أو التسجيل السريع
نسيت كلمة مرورك؟
إحصائيات المنتدى
المواضيع
1,629
المشاركات
1,818
أعضاء أكتب كود
244
أخر عضو
Codex
عودة
أعلى