/Security in PHP

Security in PHP

لماذا اخترت الحمايه في الـ php ؟

هناك من يظن ان هذه اللغه لغه ضعيفه هشه سهله الاختراق ولكن  ..
هذه اللغه تعتمد علي من يكود باستخدامها فهناك من يقوم بكتابه مواقع صعبه الاختراق هناك من يقوم بكتابه مواقع هشه ضعيفه يستطيع اي هاو ان يخترقها لذا كن علي ثقه بأنك تستطيع با ستخدامها بناء افضل المواقع

( if you are a hacker I am a developer)

some advice about security

1

تحقق من صحه المدخلات

2

ونتيجه لاستخدام اي من المدخلات الخاطئه :

1-استخدام فورمات خاطئه تسبب خطأ في النظام
2-يؤدي الي مسح وتعديل قاعده البيانات
3-تسبب نتيجه غير متوقعه من النظام

 يوجد الكثير من انواع المدخلات التي تسبب خطأ في كود الـ php:

1-المدخلات التي تحتوي علي meta character
2-المدخلات التي تحتوي علي انواع من البيانات خاطئه
3- ادخال الكثير من المدخلات
4-اساءه استخدام hidden interface
5-المدخلات تحتوي اوامر غير متوقعه

 استراتيجيات للتحقق من مدخلات المستخدم :

1-حمايه عن طريق اغلاق global variable.
2-السماح فقط للمدخلات المتوقعه
3-المدخلات فحص الطول والنوع والفورمات
4-فلتره المدخلات لاي نظام

Input containing meta character

 المدخلات التي تحتوي علي هذه الحروف  تسبب بعض المتاعب وتكون خطيره علي النظام عند عمل معالجه لهذه الحروف يكون لها معني خاص لكل جزء من اجزاء النظام
بعض الامثله :
[  ! , $ , ^  , & , * , () , ~ , [ ] , | , { } , ‘ , ” ,  ;  , <> , ? , – ]

هناك البعض لديه تأثير خاص في قاعده البيانات [ ‘ , ”   ,  ;   , \  ]
عن طريق تنفيذ بعض(query) لادخال بعض جمل (sql )في الداتا بيز

وهناك بعض الحروف التي لها تأثر خطير علي اي نظام ولكنها صعبه الكتابه :
اول 32 (character in ASCI )
( The character \x00 )تعرف ب  0 , (null )  , ( FALSE  )
(  The characters \x10 and \x13 ) تعرف ب ( n) ( /r/ )
( The character \x1a) تعرف ب ( end of the line marker )

هذه المدخلات تسمح با دخال سكربت تهاجم النظام

input of the wrong type

بعض التأثيرات  لهذا الهجوم
قد يسبب تلف البيانات الموجوده في النظام وايضا في (image processing apps) يتم تعطيل النظام بسبب   ان النظام متوقع ادخال  صوره والمدخل الموجود نص او ما شابه

To much input

عند ادخال الكثير من المدخلات هذا قد يسبب استهلاك (resources) ,  (overhead buffer) 

مثال :
اذا كنت تريد عمل تصحيح املائي ل(Text Area) ولم تقم بتحديد اكبر عدد من الحروف يمكن ادخاله (Limit max lenght) المهاجم يقوم بادخال 8 ميجا  نصيه وهذا قد يسبب

   3

 وهناك بعض حقول قاعده البيانات التي تحدد 255 او اقل  كحد اقصي في حاله عدم مراعاه هذا قد يسبب في تلف البيانات التي يظن المستخدم انها تمت بنجاح

Abuse of the hidden interface

4

يستطيع الذي يقوم بالهجوم استخلاص بعض البيانات واستخدام صلاحيات (administrator) وحذف بعض البيانات

وفي المقال المقبل سنقوم بمعرفه كيفيه التحقق من اي مدخلات وطريقه التعامل معها باستخدام php