ما هي ثغرات XSS ؟ اولا هي اختصار لCross Site Scripting والثغرة هي انك تقدر ت inject او تحقن javascript code في الموقع طيب انا هعمل ايه بالjavascript code دي ؟ لو انت ملم شوية ب الjavascript ف انت هتكون عارف انك ممكن تتحكم فيها باي حاجة ليها علاقة بالclient side ممكن ت steal ال local storage وممكن توصل للcookies او حتي الsession storage وده لو انت في نفس الtab اللي فيها الsession storage يعني هي مرتبطة ب الtab دي ع عكس الlocal storage اللي المفروض ان هي بتكون مرتبطة بالbrowser او المتصفح ف حاجة زي دي ممكن تلاقي فيها بيانات ف ممكن تلاقي مواقع كبيرة بتخزن بيانات في الlocal storage وال session storage وانت ساعتها تقدر تسرقها ف ممكن يكون حاطط الapi key ف الapi key ده مش بيتغير لليوزر ف مجرد انك يكون معاك الapi key ده انت ممكن توصل لكل بيانات اليوزر واحيانا بتقدر تعدل بيانات اليوزر ده عن طريق الapi key ده ف انت هنا بيبقا معاك حاجة كدة زي الcsrf token وممكن تلاقي بعض الendpoints اللي بتشتغل من غير authentication خالص فمش محتاج انك تكون مسجل بأي حساب اصلا عشان تستخدم الendpoint دي مجرد ان بيكون معاك الapi key ف انت بتقدر توصل لها بالapi key ده توصل بقا لبيانات اليوزر كلها رقم تيليفونه او ايميله او حتي ممكن يكون عنوانه طيب هو ايه انواعها ؟ هقولك 3 انواع عندنا وهما الReflected والDom-Based والstored Reflected XSS : ده خلينا نقول ان هو بيكون البايلود بتاعك بيكون مبعوت مع ال(REQUEST) اللي رايح ايا كان بقا اذا هو كان GET request هتبعته في parameter مثلا او POST request هتبعته مثلا في الbody بتاع الpost request ده فمثلا انا عندي url اهو https://www.example.com/index.php?q=test هنا مثلا انا باحث ع كلمة test زي م انت شايف في الparameter اللي اسمه q ده ف انت هتكتب البايلود بتاعك وتبعته الurl ده للشخص اللي انت عايز تبعتهولوا واول مايدخله هتقدر بقا انت ساعتها تسرق الcookies بتاعه مثلا Stored XSS : ده بيكون مثلا PAYLOAD انت مخزنه في ال database ولما الصفحة اللي فيها الvuln ب ت reload بيبدأ ساعتها يتضاف للصفحة دي ايا كان مين اللي داخل الصفحة دي سواء ادمن سواء يوزر عادي ف هيتنفذ عليه الpayload اللي انت كاتبه ده فمثلا ممكن تلاقيها في comment او مثلا post انت هتنشره او ماشابه Dom-Based XSS : هي ممكن نقول انها زي الreflected كدة بس الفكرة هنا ان الvuln code اللي بيعمل المشكلة دي موجود في الclient side في الjs code بتاعك ان هو مثلا بياخد value من اليوزر وبيحطها مثلا عنده في الpage منغير مايعمل عليه validation مبيعديهوش مثلا ع الحاجات اللي في الclient side الفكرة هنا ان انت ممكن متحتجهاش مثلا عشان متقعدش تتعب نفسك وكدة وانتظرونا ان شاء الله في بث مباشر قريبا سنعلن عنه وسنقوم بحل بعض اللابات الصعبة والمتوسطة وهيكون فيها bypasses لالxss اللي متواجدة حاليا المصدر GGH Team