Moustafa Meaily
Moustafa Meaily

@CMPSamurai

14 تغريدة 15 قراءة Dec 20, 2021
الثريد دي هتكلم فيها بشكل عملي عن ازاي تعمل Security Testing لاي ويب ابلكيشن. الموضوع ده مهم جدا حتي لو شغلانتك الاساسية مش Security وانت Developer بتعمل ويب ابلكيشن. الغلطة في مجال السيكيوريتي بفورة خصوصا لو الابلكيشن بيتعامل في فلوس و عالاقل لازم تضمن ان معندكش ثغرات مشهورة.
مبدايا لازم نبدا بالاساس و نقول ان الويب ابلكيشن متقسم لنصين ال Frontend او UI و دي بتعيش في البروازر بتاع اليوزر و Backend موجودة في سيرفر مسؤولة انها تنفذ طلبات اليوزر بتاعك. التواصل بين النصين دول بيتم عن طريق الانترنت من خلال بروتوكولات معروفة اشهرها ال HTTP
ال HTTP مبني علي ال request / response . اليوزر بيدوس علي زرار او بيروح لصفحة بتبعت request بيوصل للسيرفر و السيرفر بيرد عليه ب response. و بالتالي هناك نوعين من الثغرات ثغرات للسيرفر و ثغرات لابلكيشن اليوزر اللي في البرواوزر بتاعه.
ثغرات ال UI و دي انواعها كتير زي ال XSS او ال CSRF و دي ببساطة ممكن تخلي اي Attacker يضحك علي اليوزر و يخليه يعمل حاجة هو مش قصده يعملها. زي ان مثلا اليوزر فاتح ابلكشين البنك بتاعه فانت تضحك عليه و تخليه يبعت فلوس لحد من غير ميعرف. في الحالة دي الابلكيشن شغال بس بشكل خطر.
تاني نوع وهو ثغرات السيرفر و هي مثلا ان المفروض اليوزر يشوف بياناته هو بس بس بسبب غلطة في السيرفر انت تقدر تضحك عالسيرفر وتخليه يبعت حاجات مش المفروض يبعتها زي انك تقدر تلعب في ال query اللي بتتقنفذ عالسيرفر من خلال حاجة زي ال SQL injection او يبقي فيه URL مش مقفول علي اليوزر
اكاد اجزم ان معظم المصايب بيتيجي ان ال developer مش مجمع حتة ان جزء ال UI بالكامل تحت تصرف اليوزر و بالتالي مثلا اليوزر ببساطة ممكن يعدل اي حاجة في ال Frontend و يطلب اي طلب من ال Backend مثال لو عندك api /products/1 ببساطة اليوزر يطلب /products/2 و تقدر تعمل ده بال dev tools
خلينا نفكس للكلام النظري و خليني احكيلكم عن تولز قوية جدا اسها ال web proxy اللي تقدر تخليك تتحكم في كل ال requests و ال responses اللي خارجة من الweb application بتاعك زي Burp suite, OWASP ZAP
Burp suite / Owasp Zap
بتخليك بدل مالويب ابلكيشن يكلم السيرفر مباشر بيخلي ال requests و ال responses تعدي عليه و تقدر توقفها فيها و تعدلها و بعدين تبعتها فتخليك تقدر تعدل ال requests و ال responses اللي داخلة خارجة من عندك.
فمثال مثلا لو انت عندك ويب ابلكيشن و فيه friend list مثلا و لقيت ان البراوزر بيبتعت للسيرفر يسال عن user/1/friends يعني بيحاول يجيب اصدقاء اليوزر اللي رقمه ١ ممكن توقع ال request ده في ال proxy و تشوف لو عدلت رقم ١ ل ٢ او ٣ هيجيبلك اصدقاء ناس تانية مثلا .
ممكن تفتكروني ببالغ بس صدقوني ٩٠٪ من الابلكيشنز اللي عملتها تيستنج من اجل التسلية (انا مش شغال سيكيوريتي ) لقيت ان ال business logic متطبقي في الفرونت اند بس وبالتالي اول مبتدي تعمل في ال requests بتكتشف بلاوي زرقاء. 😂 عايز اقولكم اني لقيت ده في موقع بنك كبير جدا multinational
حاجة جامدة جدا كمان ان التولز دي فيها اوبشن انها و هي بتراقب ال requests و ال responses اللي داخلة خارجة ساعات بتعمل سكان للويب ابلكيشن و بتقولك لو فيه ثغرات في ال front end كمان يعني حتي مش محتاج تبقي عندي خبرة كبيرة و فاهم سيكيروتي عشان تفحص ابلكيشن. 😂
النسخة المجانية من Burp Suite البروكسي وتعديل الريكوستات فيها ببلاش انما الفحص الاوتوماتيك بفلوس. انما مثلا OWASP ZAP كله Free من اوله لاخره. بنصح اي Developer شغال علي ويب ابلكيشن يجرب يشغله و يصلح عالاقل الحاجات الظاهرة قبل محد من برا يشغله و ساعتها هيزعل
طبعا الفحص الاوتوماتيك في التولز دي مش هيطلع كل حاجة و دايما الفحص اليدوي بيطلع بلاوي عمر مالفحص الاوتوماتيك ميطلعها بس عالاقل لو فحصت الابلكيشن بتاعك هتضمن ان الناس اللي مش فاهمة متقدرش تطلع ثغرات بالفحص الاوتوماتيك.
ويظل حاجة مهمة جدا ان الابلكيشن بتاعك يعدي علي Security Review قبل ميطلع production لان ال developers و ال testers عادتا بيطلعوا bugs بس مش security issues.
لو عجبك ال ثريد متنساش اللايك و الريتويت و الفولو عشان اتشجع انزل مواضيع اكتر و ان شاء الله بشكل مفصل اكتر.

جاري تحميل الاقتراحات...