كيفية مراجعة نموذج تسجيل الدخول لحقن SQL الضعيف في PHP

ملخص

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

احصل على ملاحظات شهادة OSCP

فحص الكود الأول

كيفية مراجعة نموذج تسجيل الدخول PHP لحقن SQL - الترميز الآمن

الكود هو كود php لنموذج تسجيل الدخول. كما نرى، يتم تخزين اسم المستخدم وكلمة المرور لتسجيل الدخول في متغيرين. يتم أخذ قيمة كل متغير كمدخل من المستخدم عبر طلب HTTP POST.

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

استغلال

توضح لقطة الشاشة التالية كيف قمنا بإدخال حمولة SQL في نموذج تسجيل الدخول

كيفية مراجعة نموذج تسجيل الدخول PHP لحقن SQL - الترميز الآمن

يمكننا تجربة أشكال مختلفة من الحمولة مثل

الجذر" أو 1=1##

' أو 1=1 — #

"أو 1-

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

توضح لقطة الشاشة أدناه الاستغلال الناجح لنموذج تسجيل الدخول.

كيفية مراجعة نموذج تسجيل الدخول PHP لحقن SQL - الترميز الآمن

فحص الكود الثاني

في لقطة الشاشة التالية، قمنا بمراجعة نموذج تسجيل دخول PHP آخر ضعيف لحقن SQL. والفرق هو أن متغيرات تسجيل الدخول تستخدم مع علامات الاقتباس المفردة في متغير الاستعلام

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

المثال سيكون:

كيفية مراجعة نموذج تسجيل الدخول PHP لحقن SQL - الترميز الآمن

أو "="

"الجذر أو "="

فحص الكود الثالث

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

في هذه الحالة، يجب أيضًا أن تبدأ حمولة SQL الخاصة بنا بعلامة اقتباس مفردة وقوسين

') أو صحيح-

امتحان الكود الرابع

ماذا لو احتوى الكود على متغيرين لتسجيل الدخول مع أقواس وعلامات اقتباس مزدوجة.

تحتاج حمولات SQL الخاصة بنا في هذه الحالة إلى إغلاق الأقواس وعلامات الاقتباس المزدوجة

"أو صحيح-

") أو صحيح-

')) أو صحيح-

جولة فيديو كاملة

عن المؤلف

أقوم بإنشاء ملاحظات حول الأمن السيبراني وملاحظات التسويق الرقمي والدورات التدريبية عبر الإنترنت. أقدم أيضًا استشارات التسويق الرقمي بما في ذلك، على سبيل المثال لا الحصر، تحسين محركات البحث وإعلانات Google وMeta وإدارة CRM.

عرض المقالات