Vulnerabilities

ما هو حقن SQL (SQLi)؟

حقن SQL (SQLi) هو نوع من الهجمات حيث يقوم المهاجمون بإدخال بيان SQL ضار في حقل الإدخال للتلاعب بقاعدة البيانات.

ما هو حقن SQL (SQLi)؟

حقن SQL (SQLi) هو نوع من الهجمات حيث يقوم المهاجمون بإدخال عبارة SQL ضارة في حقل الإدخال للتلاعب بقاعدة البيانات.

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

كيف يعمل حقن SQL

عندما يتضمن التطبيق إدخال المستخدم مباشرة في استعلام قاعدة البيانات دون التحقق من الصحة بشكل صحيح، يمكن للمهاجمين تعديل سلوك الاستعلام لإدخال عبارة SQL ضارة.

على سبيل المثال:

SELECT * FROM users WHERE username = 'admin' AND password = '12345';

يمكن للمهاجم إدخال:

' OR '1'='1

مما ينتج عنه:

SELECT * FROM users WHERE username = '' OR '1'='1' AND password = '';

هذا دائمًا ما يعيد true، مما يمنح وصولًا غير مصرح به.

لماذا يعتبر حقن SQL مهمًا في الأمن السيبراني

حقن SQL هو التقنية الأكثر خطورة والأقدم في الأمن السيبراني. يتم إدراج هذا النوع من الهجمات باستمرار في قائمة OWASP Top 10.

حتى الثغرات الصغيرة تسمح للمهاجم ب:

  • الوصول إلى البيانات أو تعديلها أو حذفها
  • تجاوز المصادقة
  • تنفيذ عمليات إدارية على قاعدة البيانات.
  • اختراق النظام بالكامل.

أنواع شائعة من حقن SQL

  • حقن SQL الكلاسيكي: الحقن المباشر عبر نماذج الويب أو معلمات URL.
  • حقن SQL الأعمى: يستنتج المهاجمون معلومات قاعدة البيانات بشكل غير مباشر (مثلًا، عبر رسائل الخطأ أو وقت الاستجابة).
  • حقن SQL المعتمد على الاتحاد: يستخدم عامل التشغيل UNION لدمج النتائج من استعلامات متعددة.
  • حقن SQL المعتمد على الخطأ: يعتمد على رسائل خطأ قاعدة البيانات لاستخراج المعلومات.
  • حقن SQL الأعمى المعتمد على الوقت: يستغل تأخيرات استجابة الخادم لتخمين نتائج الاستعلام.

كيفية منع حقن SQL

1. استخدام الاستعلامات المعلبة (البيانات المحضرة)

تأكد من أن أوامر SQL تعامل مدخلات المستخدم كبيانات، وليس ككود قابل للتنفيذ.

cursor.execute("SELECT * FROM users WHERE username = ?", (username,))

2. التحقق من صحة المدخلات وتنقيتها

تحقق من صحة جميع المدخلات من المستخدمين، مع السماح فقط بالأحرف المتوقعة.

3. استخدام أطر عمل ORM

أطر العمل مثل Prisma وHibernate، تقلل من التعامل المباشر مع SQL.

4. مبدأ أقل امتياز

حدد أذونات المستخدم، وامنح فقط الأذونات اللازمة.

5. اختبار الأمان بانتظام

استخدم أدوات اختبار أمان التطبيقات مثل SAST، DAST أو IAST لاكتشاف عيوب الحقن مبكرًا.

مثال في العالم الحقيقي

تعرض موقع متجر إلكتروني لاختراق حيث استخدم المهاجمون حقن SQL في نموذج تسجيل الدخول لاستخراج تفاصيل بطاقات الائتمان من قاعدة بياناته.

مصطلحات ذات صلة

Ready to validate what matters?

Ready to validate what matters?

Plexicus is Proof-Driven AppSec: validated findings, contextual understanding, and reviewed remediation — anchored in evidence, scoped with you.

Qualification

Check whether AI Swarm Pentest fits your environment.

Share the minimum context. We will review the scope and tell you the next commercial step.

Before submitting — verify you fit

Teams with fewer than 50 developers: start a 14-day Trial instead of booking a demo. Start a 14-day Trial →

0 / 280

No commitment. If you don't fit, we'll tell you.

SAMPLE HANDOVER · ILLUSTRATIVE

Sample evidence handover

A trimmed view of what your team receives at the end of an AI Swarm Pentest engagement. Real engagements include full technical evidence, executive narrative, and a remediation plan.

VALIDATED FINDING Evidence attached

Server-Side Request Forgery in webhooks/receiver

demo-project/sample-app · src/webhooks/receiver.py:42

SeverityHigh CVSS 3.18.6 Priority79 Confirmedvia replay

Untrusted caller-supplied URLs reach an internal egress without an allowlist. Replayed in a sandbox against a fresh authorised target — the same control was validated to fail twice.

REVIEWER-READY REMEDIATION Merge-ready PR

Validate the target URL against an allowlist of permitted hostnames. Reject private/internal IP ranges. Enforce HTTPS only.

plexicus/remediation/webhooks-ssrf 3 changed · 0 new files
42resp = requests.get(target_url)
42+if not is_allowed_host(target_url):
43+  raise WebhookRejected(target_url)
44+resp = requests.get(target_url, timeout=5)
Every engagement hands over:
  • Executive briefing
  • Validated findings list
  • Merge-ready PRs
  • Compliance mapping (NIS2 · DORA · CRA)