حقن الأوامر (Command Injection): الكشف، والتحقق، والوقاية

يتم اختبار Command Injection فقط في المختبر أو في نظام مرخص. يتم فحص Request/Response، وسلوك الخادم، والأدوار، والحالة، والتأثير، باستخدام اختبارات بسيطة لا تضر بالبيانات.
يجب أن يفحص اختبار أمان الويب والواجهة البرمجية (API) حدود الثقة، والصلاحيات، والإدخال، والحالة (State)، والمنطق التجاري. كل اختبار في المقال مخصص للمختبر، أو CTF، أو نظام تم الحصول على إذن صريح بشأنه. يركز المقال الحالي على اختبار Command Injection وهو مخصص لطلاب اختبار الاختراق للويب والمطورين. الهدف هو توفير منهجية عمل يمكن تطبيقها في التدريب، وفي المقابلات المهنية، وفي بيئة العمل، دون الاكتفاء بالتعريف المعجمي.
التحدي الرئيسي هو أن البيانات شبه كاملة دائمًا. يمكن لـ OS command boundary، وargument injection، وallowlist أن تشير إلى اتجاه، ولكن معناها يعتمد على الوقت، والأصل، والمستخدم، والنشاط المتوقع. لذلك، سنبني الاختبار حول سؤال استقصائي، وأدلة مطلوبة، ومعيار واضح للانتهاء.
السيناريو العملي في المقال هو: تمرين Marker آمن في تطبيق مختبري. جميع الأمثلة هي بيانات مختبرية أو وصف لعمليات. عند التعامل مع اختبار الاختراق، أو الويب، أو السحابة، يجب العمل فقط بموافقة صريحة، ونطاق محدد، والقدرة على إيقاف الاختبار.




