حقن SQL

تصنيف أساليب هجوم حقن SQL في عام 2010
تصنيف أساليب هجوم حقن SQL اعتبارًا من عام 2010

في مجال الحوسبة، يُعدّ حقن SQL أسلوبًا لحقن التعليمات البرمجية يُستخدم لمهاجمة التطبيقات التي تعتمد على البيانات، حيث تُدرج عبارات SQL خبيثة في حقل إدخال لتنفيذها (مثلًا، لتفريغ محتويات قاعدة البيانات للمهاجم). [ 1 ] [ 2 ] يجب أن يستغل حقن SQL ثغرة أمنية في برنامج التطبيق، على سبيل المثال، عندما لا تتم تصفية مدخلات المستخدم بشكل صحيح بحثًا عن أحرف الهروب النصية المضمنة في عبارات SQL، أو عندما لا تكون مدخلات المستخدم مُعرّفة بشكل دقيق ويتم تنفيذها بشكل غير متوقع. يُعرف حقن SQL في الغالب كطريقة هجوم على مواقع الويب، ولكنه يُمكن استخدامه لمهاجمة أي نوع من قواعد بيانات SQL .

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

لا يزال حقن SQL يشكل خطرًا أمنيًا معروفًا على نطاق واسع نظرًا لقدرته على اختراق البيانات الحساسة. يصفه مشروع أمان تطبيقات الويب المفتوحة (OWASP) بأنه ثغرة أمنية تحدث عندما تُنشئ التطبيقات استعلامات قواعد البيانات باستخدام مدخلات مستخدم غير مُدققة. باستغلال هذه الثغرة، يستطيع المهاجمون تنفيذ أوامر غير مقصودة لقواعد البيانات، مما قد يؤدي إلى الوصول إلى البيانات أو تعديلها أو حذفها. يحدد مشروع OWASP عدة استراتيجيات للتخفيف من هذه الثغرة، بما في ذلك العبارات المُجهزة والإجراءات المخزنة والتحقق من صحة المدخلات ، لمنع تفسير مدخلات المستخدم بشكل خاطئ على أنها شفرة SQL قابلة للتنفيذ. [ 4 ]

تاريخ

بدأت النقاشات حول ثغرة حقن SQL في أواخر التسعينيات، بما في ذلك مقال نُشر عام ١٩٩٨ في مجلة Phrack . [ ٥ ] صنّف مشروع أمان تطبيقات الويب المفتوحة (OWASP) ثغرة حقن SQL ضمن أخطر ١٠ ثغرات أمنية في تطبيقات الويب لعامي ٢٠٠٧ و٢٠١٠. [ ٦ ] وفي عام ٢٠١٣، أُدرجت ثغرة حقن SQL كأخطر ثغرة أمنية في تطبيقات الويب ضمن قائمة OWASP لأهم ١٠ ثغرات. [ ٧ ]

في عام 2017، صنّفت مبادرة OWASP لأهم 10 مخاطر أمنية للتطبيقات حقن SQL ضمن فئة أوسع هي "الحقن"، واصفةً إياه بأنه ثالث أخطر تهديد أمني. شملت هذه الفئة أنواعًا مختلفة من هجمات الحقن، مثل حقن SQL و NoSQL وأوامر نظام التشغيل و LDAP . تنشأ هذه الثغرات الأمنية عندما يعالج تطبيق ما بيانات غير موثوقة كجزء من أمر أو استعلام، مما قد يسمح للمهاجمين بتنفيذ إجراءات غير مقصودة أو الوصول غير المصرح به إلى البيانات. [ 8 ]

بحلول عام 2021، ظلّت ثغرات الحقن مشكلة واسعة الانتشار، إذ تمّ رصدها في 94% من التطبيقات التي تمّ تحليلها، مع معدلات حدوث مُبلّغ عنها تصل إلى 19%. وقد وسّعت قائمة OWASP لأهم 10 ثغرات أمنية في ذلك العام تعريف ثغرات الحقن لتشمل الهجمات التي تستهدف أنظمة ربط الكائنات العلائقية (ORM)، ولغة التعبير (EL)، ومكتبة التنقل بين الرسوم البيانية للكائنات (OGNL). ولمعالجة هذه المخاطر، توصي OWASP باستراتيجيات مثل استخدام واجهات برمجة التطبيقات الآمنة ، والاستعلامات المُعَلمة، والتحقق من صحة المدخلات، وتهريب الأحرف الخاصة لمنع تنفيذ البيانات الضارة كجزء من الاستعلام. [ 9 ] [ 10 ]

السبب الجذري

يُعدّ حقن SQL ثغرة أمنية شائعة تنشأ عن تحويل بيانات يُدخلها المهاجم إلى شفرة SQL. يحدث هذا عندما يُنشئ المبرمجون استعلامات SQL إما عن طريق استيفاء السلاسل النصية أو عن طريق دمج أوامر SQL مع بيانات يُدخلها المستخدم. ولذلك، يعتمد الحقن على حقيقة أن عبارات SQL تتكون من بيانات تُستخدم في عبارة SQL وأوامر تتحكم في كيفية تنفيذها. على سبيل المثال، في عبارة SQL، تُمثل السلسلة النصية ' ' بيانات، بينما يُمثل الجزء ' ' مثالًا على أمر (القيمة أيضًا بيانات في هذا المثال). [ 11 ]select*frompersonwherename='susan'andage=2susanandage=22

يحدث هجوم حقن SQL عندما يقوم البرنامج المُستقبِل بمعالجة مُدخلات المستخدم المُصممة خصيصًا بطريقة تسمح لهذه المُدخلات بالخروج من سياق البيانات والدخول إلى سياق الأوامر. وهذا يُتيح للمهاجم تغيير بنية عبارة SQL التي يتم تنفيذها.

كمثال بسيط، تخيل أن البيانات ' susan' في العبارة أعلاه قد تم إدخالها من قِبل المستخدم. أدخل المستخدم السلسلة ' susan' (بدون علامات الاقتباس) في حقل إدخال نصي في نموذج ويب، واستخدم البرنامج عبارات دمج السلاسل لتكوين عبارة SQL أعلاه من الأجزاء الثلاثة ، وإدخال المستخدم ' '، و . [ 11 ]select*frompersonwherename='susan'andage=2

والآن تخيل أنه بدلاً من إدخال كلمة " susan" أدخل المهاجم كلمة " . [ 11 ]'or1=1;--

سيستخدم البرنامج نفس أسلوب دمج السلاسل النصية مع الأجزاء الثلاثة من ، ومدخلات المستخدم ، و ، وسيُنشئ العبارة . تتجاهل العديد من قواعد البيانات النص الذي يلي سلسلة '--' لأنه يُشير إلى تعليق. أصبح هيكل أمر SQL الآن ، وسيختار هذا جميع صفوف الأشخاص بدلاً من الصفوف التي تحمل اسم 'سوزان' وعمرها سنتان فقط. تمكن المهاجم من صياغة سلسلة بيانات تُخرجه من سياق البيانات وتدخله في سياق الأوامر. [ 11 ]select*frompersonwherename=''or1=1;--'andage=2select*frompersonwherename=''or1=1;--' and age = 2select*frompersonwherename=''or1=1;

طرق الاستغلال

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

الحصول على مخرجات أو إجراءات مباشرة

تخيل برنامجًا يقوم بإنشاء عبارة SQL باستخدام أمر تعيين السلسلة التالي  :

varstatement="SELECT * FROM users WHERE name = '"+userName+"'";

صُمم كود SQL هذا لاستخراج سجلات اسم المستخدم المحدد من جدول المستخدمين. مع ذلك، إذا قام مستخدم خبيث بتعديل متغير "userName" بطريقة معينة، فقد يؤدي تنفيذ عبارة SQL إلى نتائج تتجاوز ما قصده كاتب الكود. على سبيل المثال، تعيين متغير "userName" على النحو التالي:

'أو '1'='1

أو باستخدام التعليقات لحجب بقية الاستعلام (هناك ثلاثة أنواع من تعليقات SQL [ 12 ] ). جميع الأسطر الثلاثة تنتهي بمسافة:

'أو '1'='1' -- ' أو '1' = '1' { ' أو '1' = '1' /*

يقوم البرنامج بتنفيذ إحدى عبارات SQL التالية بواسطة اللغة الأصلية:

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

إذا تم استخدام هذا الكود في إجراء المصادقة، فيمكن استخدام هذا المثال لفرض تحديد كل حقل بيانات (*) من جميع المستخدمين بدلاً من اسم مستخدم محدد واحد كما أراد المبرمج، لأن تقييم '1'='1' صحيح دائمًا.

إن القيمة التالية لـ "userName" في العبارة أدناه ستؤدي إلى حذف جدول "users" بالإضافة إلى تحديد جميع البيانات من جدول "userinfo" (أي الكشف عن معلومات كل مستخدم)، وذلك باستخدام واجهة برمجة تطبيقات تسمح بعبارات متعددة:

a';DROPTABLEusers;SELECT*FROMuserinfoWHERE't'='t

يؤدي هذا الإدخال إلى إنشاء عبارة SQL النهائية على النحو التالي والمحدد:

استعلم عن جميع البيانات من جدول المستخدمين حيث يكون الاسم = 'a' ؛ ثم احذف جدول المستخدمين ؛ واستعلم عن جميع البيانات من جدول معلومات المستخدم حيث يكون 't' = 't' ؛

بينما تسمح معظم تطبيقات خادم SQL بتنفيذ عدة استعلامات باستدعاء واحد بهذه الطريقة، فإن بعض واجهات برمجة تطبيقات SQL، مثل دالة PHPmysql_query() ، لا تسمح بذلك لأسباب أمنية. هذا يمنع المهاجمين من إدخال استعلامات منفصلة تمامًا، ولكنه لا يمنعهم من تعديل الاستعلامات.

حقن SQL العمياء

يُستخدم حقن SQL الأعمى عندما يكون تطبيق ويب عرضةً لهجوم حقن SQL، ولكن نتائج الحقن لا تكون مرئية للمهاجم. قد لا تكون الصفحة التي تحتوي على الثغرة تعرض بيانات، بل قد يختلف عرضها تبعًا لنتائج عبارة منطقية تُحقن في عبارة SQL الأصلية المُستدعاة لتلك الصفحة. لطالما اعتُبر هذا النوع من الهجمات مُستهلكًا للوقت، نظرًا للحاجة إلى صياغة عبارة جديدة لكل بت مُستعاد، واعتمادًا على بنيته، قد يتكون الهجوم من العديد من الطلبات غير الناجحة. سمحت التطورات الحديثة لكل طلب باستعادة بتات متعددة، دون أي طلبات غير ناجحة، مما يُتيح استخراجًا أكثر اتساقًا وكفاءة. [ 13 ] توجد العديد من الأدوات التي يُمكنها أتمتة هذه الهجمات بمجرد تحديد موقع الثغرة والمعلومات المستهدفة. [ 14 ]

الاستجابات المشروطة

يُجبر أحد أنواع حقن SQL العمياء قاعدة البيانات على تقييم عبارة منطقية على شاشة تطبيق عادية. على سبيل المثال، يستخدم موقع ويب لمراجعات الكتب سلسلة استعلام لتحديد مراجعة الكتاب التي سيتم عرضها. وبالتالي، سيؤدي عنوان URLhttps://books.example.com/review?id=5 إلى قيام الخادم بتنفيذ الاستعلام.

SELECT * FROM bookreviews WHERE ID = '5' ;

ومن ثمّ، يتمّ ملء صفحة المراجعة ببيانات المراجعة ذات المعرّف 5، والمخزّنة في جدول مراجعات الكتب. يتمّ تنفيذ الاستعلام بالكامل على الخادم؛ ولا يعرف المستخدم أسماء قاعدة البيانات أو الجدول أو الحقول، كما لا يعرف سلسلة الاستعلام. يرى المستخدم فقط أنّ عنوان URL المذكور أعلاه يُعيد مراجعة كتاب. يمكن للمخترق تحميل عناوين URL ، ممّا قد يؤدّي إلى استعلامات.https://books.example.com/review?id=5' OR '1'='1https://books.example.com/review?id=5' AND '1'='2

استعلم عن جميع البيانات من جدول مراجعات الكتب حيث يكون المعرف ' 5' أو '1' = '1' ؛ استعلم عن جميع البيانات من جدول مراجعات الكتب حيث يكون المعرف ' 5' و '1' = '2' ؛

على التوالي. إذا تم تحميل المراجعة الأصلية باستخدام عنوان URL "1=1" وتم إرجاع صفحة فارغة أو صفحة خطأ من عنوان URL "1=2"، ولم يتم إنشاء الصفحة المُعادة لتنبيه المستخدم بأن الإدخال غير صالح، أو بعبارة أخرى، لم يتم اكتشافها بواسطة برنامج نصي لاختبار الإدخال، فمن المرجح أن يكون الموقع عرضة لهجوم حقن SQL حيث من المحتمل أن يمر الاستعلام بنجاح في كلتا الحالتين. قد يتابع المخترق باستخدام سلسلة الاستعلام هذه المصممة للكشف عن رقم إصدار MySQL الذي يعمل على الخادم: ، والتي ستعرض مراجعة الكتاب على خادم يعمل بنظام MySQL 4 وصفحة فارغة أو صفحة خطأ في غير ذلك. يمكن للمخترق الاستمرار في استخدام التعليمات البرمجية داخل سلاسل الاستعلام لتحقيق هدفه مباشرة، أو لاستخلاص المزيد من المعلومات من الخادم على أمل اكتشاف طريقة أخرى للهجوم. [ 15 ] [ 16 ]https://books.example.com/review?id=5ANDsubstring(@@version,1,INSTR(@@version,'.')-1)=4

حقن SQL من الدرجة الثانية

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

من أجل الحماية من هذا النوع من الهجمات، يجب أن تكون جميع عمليات معالجة SQL آمنة بشكل موحد، بغض النظر عن مصدر البيانات.

معالجة هجمات حقن SQL

يُعدّ هجوم حقن SQL هجومًا معروفًا يمكن التخفيف من آثاره باستخدام إجراءات أمنية مُعتمدة. مع ذلك، استغلّ هجوم إلكتروني عام 2015 على شركة الاتصالات البريطانية TalkTalk ثغرة حقن SQL، مما أدى إلى اختراق البيانات الشخصية لحوالي 400 ألف عميل. وذكرت هيئة الإذاعة البريطانية ( BBC) أن خبراء الأمن أعربوا عن دهشتهم من بقاء شركة كبرى عُرضة لمثل هذا الاستغلال. [ 17 ]

توجد مجموعة متنوعة من التدابير الدفاعية للتخفيف من مخاطر حقن SQL عن طريق منع المهاجمين من حقن شيفرة SQL خبيثة في استعلامات قواعد البيانات. تشمل استراتيجيات التخفيف الأساسية، كما حددتها OWASP ، الاستعلامات المُعَلمة، والتحقق من صحة المدخلات ، وضوابط الوصول ذات الامتيازات الأقل، والتي تحد من قدرة مدخلات المستخدم على تغيير استعلامات SQL وتنفيذ أوامر غير مقصودة. [ 4 ] بالإضافة إلى التدابير الوقائية، تساعد تقنيات الكشف في تحديد محاولات حقن SQL المحتملة. تفحص طرق مثل مطابقة الأنماط ، واختبار البرمجيات ، وتحليل القواعد النحوية، هياكل الاستعلامات ومدخلات المستخدم للكشف عن أي مخالفات قد تشير إلى محاولة حقن. [ 2 ]

تخفيف المخاطر الأساسية

العبارات المُعَلَّمة

تدعم معظم منصات التطوير العبارات المُعَلَّمة، والمعروفة أيضًا باسم العناصر النائبة أو متغيرات الربط ، لمعالجة مدخلات المستخدم بشكل آمن بدلاً من تضمينها في استعلامات SQL. تخزن هذه العناصر النائبة قيمًا من نوع مُحدد فقط، مما يمنع المدخلات من تغيير بنية الاستعلام. ونتيجةً لذلك، تُعالَج محاولات حقن SQL على أنها مدخلات غير متوقعة وليست تعليمات برمجية قابلة للتنفيذ. مع الاستعلامات المُعَلَّمة، يبقى كود SQL منفصلاً عن مدخلات المستخدم، ويتم تمرير كل مُعَلَّم كقيمة مُستقلة، مما يمنع تفسيره كجزء من عبارة SQL. [ 4 ]

التحقق من صحة مدخلات القائمة المسموح بها

يضمن التحقق من صحة المدخلات باستخدام قوائم السماح قبول المدخلات المحددة صراحةً فقط، مما يقلل من خطر هجمات الحقن. على عكس قوائم الرفض ، التي تحاول حظر الأنماط الخبيثة المعروفة ولكن يمكن تجاوزها، تحدد قوائم السماح المدخلات الصحيحة وترفض كل ما عداها. يُعد هذا الأسلوب فعالًا بشكل خاص للبيانات المنظمة ، مثل التواريخ وعناوين البريد الإلكتروني، حيث يمكن تطبيق قواعد تحقق صارمة. مع أن التحقق من صحة المدخلات وحده لا يمنع هجمات حقن SQL وغيرها من الهجمات، إلا أنه يُمكن أن يكون بمثابة حماية إضافية من خلال تحديد المدخلات غير المصرح بها وتصفيتها قبل وصولها إلى استعلام SQL. [ 4 ] [ 18 ]

أقل الامتيازات

وفقًا لمنظمة OWASP، يُسهم مبدأ أقل الامتيازات في الحد من مخاطر حقن SQL من خلال ضمان حصول حسابات قواعد البيانات على الحد الأدنى من الصلاحيات اللازمة فقط. يجب ألا تتمتع حسابات القراءة فقط بصلاحيات التعديل، ويجب ألا تتمتع حسابات التطبيقات بصلاحيات إدارية مطلقًا. يُعد تقييد صلاحيات قواعد البيانات جزءًا أساسيًا من هذا النهج، حيث يُمكن للحد من الوصول إلى جداول النظام وتقييد أدوار المستخدمين تقليل مخاطر هجمات حقن SQL. كما يُسهم فصل مستخدمي قواعد البيانات حسب الوظائف المختلفة، مثل المصادقة وتعديل البيانات، في الحد من الأضرار المحتملة الناجمة عن هجمات حقن SQL. [ 4 ]

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

في خادم Microsoft SQL Server ، يُمكن أن يُساهم تقييد الوصول إلى جداول النظام عبر أوامر SELECT في منع هجمات حقن SQL التي تُحاول تعديل مخطط قاعدة البيانات أو حقن برامج نصية ضارة. على سبيل المثال، تُقيّد الأذونات التالية وصول مستخدم قاعدة البيانات إلى كائنات النظام:

منع الوصول إلى sys.sysobjects من خلال webdatabaselogon ؛ منع الوصول إلى sys.objects من خلال webdatabaselogon ؛ منع الوصول إلى sys.tables من خلال webdatabaselogon ؛ منع الوصول إلى sys.views من خلال webdatabaselogon ؛ منع الوصول إلى sys.packages من خلال webdatabaselogon .

إجراءات تخفيف إضافية

مُحولات الكائنات العلائقية

توفر أطر ربط الكائنات العلائقية (ORM) واجهة كائنية التوجه للتفاعل مع قواعد البيانات العلائقية . ورغم أن هذه الأطر توفر عادةً حماية مدمجة ضد هجمات حقن SQL، إلا أنها قد تظل عرضة للاختراق إذا لم تُنفذ بشكل صحيح. فبعض الاستعلامات التي تُنشئها هذه الأطر قد تسمح بإدخال بيانات غير مُعالجة، مما يؤدي إلى مخاطر حقن SQL. إضافةً إلى ذلك، تسمح العديد من أطر ربط الكائنات العلائقية للمطورين بتنفيذ استعلامات SQL مباشرة، والتي قد تُؤدي، في حال سوء التعامل معها، إلى ثغرات أمنية تسمح بحقن SQL. [ 19 ] [ 20 ]

الأساليب المهملة/الثانوية

يُنصح عمومًا بتجنب استخدام تقنية الهروب من الأحرف الكبيرة كآلية دفاع أساسية ضد هجمات حقن SQL. وتصف منظمة OWASP هذا الأسلوب بأنه "ضعيف مقارنةً بوسائل الدفاع الأخرى"، وتشير إلى أنه قد لا يكون فعالًا في جميع الحالات. وبدلًا من ذلك، توصي OWASP باستخدام "الاستعلامات المُعَلمة، أو الإجراءات المخزنة، أو نوع من أنواع مُرَجِّع الكائنات العلائقية (ORM) الذي يُنشئ استعلاماتك تلقائيًا" كطرق أكثر موثوقية للحد من مخاطر حقن SQL. [ 4 ]

الهروب من السلاسل

إحدى الطرق التقليدية لمنع هجمات الحقن هي إضافة كل جزء من البيانات كسلسلة نصية بين علامتي اقتباس ، مع تهريب جميع الأحرف ذات الدلالة الخاصة في سلاسل SQL. [ 21 ] يشرح دليل نظام إدارة قواعد بيانات SQL الأحرف ذات الدلالة الخاصة، مما يسمح بإنشاء قائمة سوداء شاملة للأحرف التي تحتاج إلى ترجمة. على سبيل المثال، يجب أن يسبق كل ظهور لعلامة اقتباس مفردة ( ") في مُعامل نصي شرطة مائلة عكسية ( \) حتى تفهم قاعدة البيانات أن علامة الاقتباس المفردة جزء من السلسلة النصية، وليست فاصلة السلسلة. توفر وحدة MySQLi في PHP وظيفة لتهريب السلاسل النصية وفقًا لدلالات MySQL ؛ في المثال التالي، اسم المستخدم هو مُعامل نصي، وبالتالي يمكن حمايته عن طريق تهريب السلاسل النصية.'\mysqli_real_escape_string()

$mysqli = new mysqli ( 'hostname' , 'db_username' , 'db_password' , 'db_name' ); $query = sprintf ( "SELECT * FROM `Users` WHERE UserName='%s'" , $mysqli- > real_escape_string ( $username ), $mysqli- > query ( $query );

إلى جانب ذلك، لا يمكن إضافة كل جزء من البيانات إلى SQL كسلسلة حرفية (على سبيل المثال، وسائط عبارة LIMIT في MySQL [ 22 ] أو أسماء الجداول/الأعمدة [ 23 ] )، وفي هذه الحالة لن يفيد تهريب الأحرف الخاصة المتعلقة بالسلاسل على الإطلاق، مما يجعل SQL الناتج عرضة للهجمات.

أمثلة

  • تضمنت إحدى رسوم xkcd الكاريكاتورية لعام 2007 شخصية روبرت (يُطلق عليها اسم "حذف جدول الطلاب")، والتي سُميت بهذا الاسم لتنفيذ هجوم حقن SQL. ونتيجةً لهذه الرسوم، يُشار أحيانًا إلى هجوم حقن SQL بشكل غير رسمي باسم "جداول بوبي". [ 51 ] [ 52 ]
  • يشكل تسجيل الدخول غير المصرح به إلى مواقع الويب عن طريق حقن SQL أساسًا لإحدى الحبكات الفرعية في رواية جي كي رولينج لعام 2012 بعنوان The Casual Vacancy .
  • في عام 2014، قام شخص في بولندا بتغيير اسم شركته قانونيًا إلى Dariusz Jakubowski x'; DROP TABLE users; SELECT '1 في محاولة لتعطيل عمل برامج جمع البريد العشوائي . [ 53 ]
  • تحتوي لعبة Hacknet لعام 2015 على برنامج اختراق يُدعى SQL_MemCorrupt. يُوصَف هذا البرنامج بأنه يقوم بحقن إدخال في جدول يتسبب في حدوث خطأ تلف في قاعدة بيانات SQL، ثم يستعلم عن هذا الجدول، مما يؤدي إلى تعطل قاعدة بيانات SQL وتفريغ الذاكرة الأساسية .

انظر أيضاً

مراجع

  1. مايكروسوفت. "حقن SQL" . مؤرشف من الأصل في 2 أغسطس 2013. تم الاطلاع عليه في 4 أغسطس 2013. حقن SQL هو هجوم يتم فيه إدخال شيفرة خبيثة في سلاسل نصية تُمرر لاحقًا إلى نسخة من خادم SQL لتحليلها وتنفيذها . يجب مراجعة أي إجراء يُنشئ عبارات SQL بحثًا عن ثغرات حقن، لأن خادم SQL سينفذ جميع الاستعلامات الصحيحة نحويًا التي يتلقاها. حتى البيانات المُعَلمة يمكن التلاعب بها من قِبل مهاجم ماهر ومُصمم.
  2. 1 2 تشو، ز.؛ كاي، ت.؛ تشانغ، ش.؛ ليف، ف. (أبريل 2021). "الذاكرة طويلة المدى قصيرة المدى على شجرة بناء الجملة المجردة للكشف عن حقن SQL" . برمجيات IET . 15 (2): 188-197 . doi : 10.1049/sfw2.12018 . ISSN 1751-8806 . S2CID 233582569 .  
  3. "اختراق NodeJS و MongoDB" . تم الاطلاع عليه بتاريخ 13 يناير 2026 .
  4. 1 2 3 4 5 6 "دليل مختصر للوقاية من هجمات حقن SQL" . مشروع أمان تطبيقات الويب المفتوحة (OWASP) . تم الاطلاع عليه بتاريخ 10 مارس 2025 .
  5. جيف فورستال (يوقع باسم rain.forest.puppy) (25 ديسمبر 1998). "ثغرات تقنية الويب NT" . مجلة Phrack . 8 (54 (المقال 8)). مؤرشف من الأصل في 19 مارس 2014.
  6. "التصنيف: أفضل عشرة مشاريع OWASP" . مشروع أمان تطبيقات الويب المفتوحة (OWASP). مؤرشف من الأصل في 19 مايو 2011. تم الاطلاع عليه في 3 يونيو 2011 .
  7. "التصنيف: أفضل عشرة مشاريع OWASP" . مشروع أمان تطبيقات الويب المفتوحة (OWASP). مؤرشف من الأصل في 9 أكتوبر 2013. تم الاطلاع عليه في 13 أغسطس 2013 .
  8. "أهم 10 مخاطر أمنية للتطبيقات وفقًا لمعايير OWASP - 2017" . مشروع أمان تطبيقات الويب المفتوحة (OWASP) . تم الاطلاع عليه بتاريخ 9 مارس 2025 .
  9. "أهم 10 مخاطر أمنية في مشروع OWASP لعام 2021" . مشروع أمان تطبيقات الويب المفتوحة (OWASP) . تم الاطلاع عليه بتاريخ 9 مارس 2025 .
  10. "A03:2021 – الحقن" . مشروع أمان تطبيقات الويب المفتوحة (OWASP) . تم الاطلاع عليه في 9 مارس 2025 .
  11. 1 2 3 4 سينتينل ون (30 سبتمبر 2024). "ما هو حقن SQL؟ أمثلة وطرق الوقاية" . سينتينل ون . تم الاطلاع عليه في 15 أبريل 2026 .
  12. "كيفية إدخال تعليقات SQL" (ملف PDF) ، دليل IBM Informix لـ SQL: بناء الجملة ، IBM، الصفحات 13-14 ، مؤرشف من الأصل (ملف PDF) في 24 فبراير 2021 ، تم استرجاعه في 4 يونيو 2018 
  13. "استخراج عدة بتات لكل طلب من ثغرات حقن SQL العمياء تمامًا" . هاك كل شيء. مؤرشف من الأصل في 8 يوليو 2016. تم الاسترجاع في 8 يوليو 2016 .
  14. "استخدام SQLBrute لاختراق البيانات من نقطة حقن SQL عمياء" . جاستن كلارك. مؤرشف من الأصل في 14 يونيو 2008. تم الاطلاع عليه في 18 أكتوبر 2008 .
  15. macd3v. "دليل حقن SQL العمياء" . مؤرشف من الأصل في 14 ديسمبر 2012. تم الاطلاع عليه في 6 ديسمبر 2012 .{{cite web}}: صيانة CS1: الأسماء الرقمية: قائمة المؤلفين ( رابط )
  16. أندريه راسوخين؛ ديمتري أوليكسيوك. "شبكة بوتات TDSS: الكشف الكامل" . مؤرشف من الأصل في 9 ديسمبر 2012. تم الاطلاع عليه في 6 ديسمبر 2012 .
  17. "أسئلة لشركة TalkTalk - بي بي سي نيوز" . بي بي سي نيوز . 26 أكتوبر 2015. مؤرشف من الأصل في 26 أكتوبر 2015. تم الاطلاع عليه في 26 أكتوبر 2015 .
  18. "دليل مختصر للتحقق من صحة المدخلات" . مشروع أمان تطبيقات الويب المفتوحة (OWASP) . تم الاطلاع عليه بتاريخ 10 مارس 2025 .
  19. "اختبار حقن ORM" . OWASP . تم الاسترجاع في 17 مارس 2025 .
  20. "هجمات حقن SQL والوقاية منها: دليل شامل" . appsecmonkey.com . ١٣ فبراير ٢٠٢١. تم الاطلاع عليه بتاريخ ٢٤ فبراير ٢٠٢١ .
  21. "سلاسل MySQL الحرفية" .
  22. "عبارة SELECT في MySQL" .
  23. "أسماء كائنات مخطط MySQL" .
  24. "التخمين يعيق الإبلاغ عن ثغرات الويب" . سكيورتي فوكس . 6 مارس 2002. مؤرشف من الأصل في 9 يوليو 2012.
  25. "WHID 2005-46: مراهق يستخدم ثغرة حقن SQL لاختراق موقع إلكتروني لمجلة أمنية" . اتحاد أمن تطبيقات الويب. 1 نوفمبر 2005. مؤرشف من الأصل في 17 يناير 2010. تم الاطلاع عليه في 1 ديسمبر 2009 .
  26. "WHID 2006-3: قراصنة روس يخترقون موقعًا إلكترونيًا حكوميًا لولاية رود آيلاند" . اتحاد أمن تطبيقات الويب. 13 يناير 2006. مؤرشف من الأصل في 13 فبراير 2011. تم الاطلاع عليه في 16 مايو 2008 .
  27. "قراصنة مناهضون للولايات المتحدة يتسللون إلى خوادم الجيش" . مجلة إنفورميشن ويك . 29 مايو 2009. مؤرشف من الأصل في 20 ديسمبر 2016. تم الاطلاع عليه في 17 ديسمبر 2016 .
  28. أليكس باباديموليس (15 أبريل 2008). "تسريب عشرات الآلاف من أرقام الضمان الاجتماعي وبيانات حساسة أخرى في أوكلاهوما" . صحيفة ذا ديلي دبليو تي إف . مؤرشف من الأصل في 10 مايو 2008. تم الاطلاع عليه في 16 مايو 2008 .
  29. "رجل أمريكي 'سرق 130 مليون رقم بطاقة ائتمان'"" . بي بي سي. 17 أغسطس 2009. مؤرشف من الأصل في 18 أغسطس 2009. تم الاطلاع عليه في 17 أغسطس 2009. "
  30. "هجوم خليج القراصنة" . 7 يوليو 2010. مؤرشف من الأصل في 24 أغسطس 2010.
  31. "هل هاجر ليتل بوبي تيبلز إلى السويد؟" . Alicebobandmallory.com . تم الاطلاع عليه في 3 يونيو 2011 .{{cite web}}: CS1 maint: deprecated archiveal service ( link )
  32. "موقع البحرية الملكية يتعرض لهجوم من قبل هاكر روماني" . بي بي سي نيوز. 8 نوفمبر 2010. مؤرشف من الأصل في 9 نوفمبر 2010. تم الاطلاع عليه في 15 نوفمبر 2023 .
  33. سام كيلي (25 نوفمبر 2010). "فيروس خارق هدف للإرهابيين الإلكترونيين" . مؤرشف من الأصل في 28 نوفمبر 2010. تم الاطلاع عليه في 25 نوفمبر 2010 .
  34. "هاكر يخترق قاعدة بيانات باراكودا نتوركس" . مؤرشف من الأصل بتاريخ 27 يوليو 2011.
  35. "معلومات اختراق كلمة مرور مستخدم الموقع" . Dslreports.com. مؤرشف من الأصل بتاريخ 18 أكتوبر 2012. تم الاطلاع عليه بتاريخ 3 يونيو 2011 .
  36. «تقارير DSL تقول إن معلومات الأعضاء سُرقت» . سي نت نيوز. 28 أبريل 2011. مؤرشف من الأصل في 21 مارس 2012. تم الاطلاع عليه في 29 أبريل 2011 .
  37. «اختراق موقع DSLReports.com يكشف أكثر من 100,000 حساب» . ذا تك هيرالد. 29 أبريل 2011. مؤرشف من الأصل في 30 أبريل 2011. تم الاطلاع عليه في 29 أبريل 2011 .
  38. "LulzSec تخترق Sony Pictures، وتكشف عن مليون كلمة مرور غير محمية" ، electronista.com ، 2 يونيو 2011، مؤرشف من الأصل في 6 يونيو 2011 ، تم استرجاعه في 3 يونيو 2011
  39. "موقع Imperva.com: اختراق PBS - كيف قام المخترقون بذلك على الأرجح" . مؤرشف من الأصل في 29 يونيو 2011. تم الاطلاع عليه في 1 يوليو 2011 .
  40. نجاك، تشيندا. "ياهو تعرض للاختراق: هل حسابك آمن؟" . سي بي إس نيوز . مؤرشف من الأصل في 14 يوليو 2012. تم الاطلاع عليه في 16 يوليو 2012 .
  41. ياب، جيمي (12 يوليو 2012). "تسريب 450 ألف كلمة مرور مستخدم في اختراق ياهو" . زد نت . مؤرشف من الأصل في 2 يوليو 2014. تم الاطلاع عليه في 18 فبراير 2017 .
  42. بيرلروث، نيكول (3 أكتوبر 2012). "قراصنة يخترقون 53 جامعة وينشرون آلاف السجلات الشخصية على الإنترنت" . صحيفة نيويورك تايمز . مؤرشف من الأصل في 5 أكتوبر 2012.
  43. كوفاكس، إدوارد (4 نوفمبر 2013). "قراصنة يسربون بيانات يُزعم أنها مسروقة من موقع غرفة التجارة الصينية" . أخبار سوفتبيديا . مؤرشف من الأصل في 2 مارس 2014. تم الاطلاع عليه في 27 فبراير 2014 .
  44. دامون بوتر. عصابة قرصنة روسية "مترابطة" تجمع 1.2 مليار بطاقة هوية. مؤرشف في 14 يوليو 2017، في أرشيف الإنترنت ، مجلة الكمبيوتر الشخصي ، 5 أغسطس 2014
  45. نيكول بيرلروث. عصابة روسية تجمع أكثر من مليار كلمة مرور للإنترنت. مؤرشفة في 27 فبراير 2017، في Wayback Machine ، صحيفة نيويورك تايمز ، 5 أغسطس 2014.
  46. «شركة توك توك تُغرّم مبلغاً قياسياً قدره 400 ألف جنيه إسترليني لفشلها في منع هجوم أكتوبر 2015» . 5 أكتوبر 2016. مؤرشف من الأصل في 24 أكتوبر 2016. تم الاطلاع عليه في 23 أكتوبر 2016 .
  47. غودين، دان (2 مارس 2021). "خطأ برمجي مبتدئ قبل اختراق غاب جاء من المدير التقني للموقع" . آرس تكنيكا .
  48. غودين، دان (8 مارس 2021). "تم اختراق موقع غاب، وهو ملاذ لنظريات المؤامرة المؤيدة لترامب، مرة أخرى" . آرس تكنيكا .
  49. "استغلال واسع النطاق لثغرة MOVEit الحرجة يُلحق الضرر بالمنظمات الكبيرة والصغيرة" . آرس تكنيكا . 6 يونيو 2023. تم الاطلاع عليه في 9 مارس 2025 .
  50. «يقول الباحثون إن خللاً برمجياً سمح لهم بإضافة طيارين وهميين إلى قوائم الطيارين المستخدمة في عمليات التفتيش الأمني ​​في المطارات» . ذا فيرج . 8 سبتمبر 2024. تم الاطلاع عليه في 9 مارس 2025 .
  51. مونرو، راندال. "XKCD: مغامرات أم" . مؤرشف من الأصل في 25 فبراير 2013. تم الاطلاع عليه في 26 فبراير 2013 .
  52. "دليل بوبي تيبلز لحقن SQL" . 15 سبتمبر 2009. مؤرشف من الأصل في 7 نوفمبر 2017. تم الاطلاع عليه في 30 أكتوبر 2017 .
  53. "لقد قمت بحقن SQL. لا داعي للقلق، أريد أن أذهب إلى المصانع ؛)" . Niebezpiecznik (باللغة البولندية). 11 سبتمبر 2014. أرشفة من الإصدار الأصلي في 24 أيلول 2014 . تم الاسترجاع في 26 سبتمبر 2014 .