Cross-site scripting Vulnerabilities

                       Cross-site-scripting(XSS)

او الترجمة بالعربية البرمجة النصية عبر الموقع .

في هذا المقال اخترنا لكم ثغرة XSS للتحدث عنها وعن انواعها وكيف يكون موقعك معرض لهذا النوع من الثغرات وكيف ينم الحماية منه اي انشالله سيكون هذا المقال شامل عن ثغرات XSS :

1-ماهي ثغرات XSS :

ثغرات xss اختصار لCross-site-scripting او الترجمة العربية اليرمجة النصية عبر الموقع ولم يسموها css لعدم التصادم بينها وبين لغة تصميم المواقع الالكترونية هي ثغرات تمكن الهاكر بعمل عدد من الاشياء بموقعك وفي بعض الاحيان تكون خطيرة لدرجة انه ممكن سرقة Cookies الادمن والدخول على الموقع ورفع الاندكس اذا تم استغلالها بشكل صحيح

                               انواع ثغرة xss

1-Stored XSS

بالعربية ثغرات XSS من الانواع التي تتخزن ضمن الصفحة وهذا اخطر الانواع بحيث المخترق عندما يعثر على ثغرة XSS من هذا النوع فأنه عندما يحقن الكود الخبيث داخل الصفحة فأنه يتخزن ضمن محتوى الصفحة وبالتالي يتنفذ على كل مستخدم يدخل الى الصفحة تخيل معي اذا المخترق قام بحقن كود Js لسرقة الكوكيز بهذه الحالة سيستطيع سرقة حسابات جميع مشتركي الموقع لصالحه الا في حالة واجدة لا يستطيع اذا كان مفعل على الكوكيز httponly لكن غير ذلك سيتمكن من السيطرة على الحسابات وثغرات XSS تحصل بشكل عام اذا كنت انت تثق بمدخلات المستخدم مثلا لدينا الكود التالي :

php?>
 ;['user']echo $_POST
 <?
هذا الكود مكتوب بphp يأخذ الطلب المقدم عبر POST ويطبع داخل الصفحة وهذا يسبب ثغرات الStored XSS لتفادي هذه المشكلة يمكننا تنفيذ عليه بعض الفلاتر وكمثال

 php?> 
echo htmlspecialchars($_POST['user'])
 <?

يوجد العديد من الفلاتر في لغة php تمكنك من تأمين الحماية لموقعك ويوجد ايضا حمايات تركبها على موقعك مثل XSS-Protcation , Content-Security-Policy
لكن بالطبع هذه الحمايات يمكن تجاوزها ببعض الحيل فلايوجد شيء محمي بشكل كامل اتوقع الى هنا اعطينا النوع الStored حقه .

2- Reflected XSS

او بالعربية ثغرات XSS من النوع غير المخزن اي ان هذه الثغرات لا تتخزن بالصفحة عند حقن الصفحة وعمل تحديث الصفحة يذهب كل شيء بعكس الStored XSS الان لابد من انه يخطر في بالك كيف يمكن استغلال هذه الثغرة يما انها لا تثبت نفسها في المتصفح :~)
سأقول لك الحل موجود وبما انها تتنفذ مرة واحدة فقط انا سأنسخ رابط الصفحة المصابة بالثغرة وسأحقن المتغير المصاب الموجود بالURL ومن ثم اعمل Encode للURL وارسله لك وانت عندما تدخل الى الرابط سيتنفذ الكود الخبيث بمتصفحك كرة واحدة فقط وانا سأحصل على ما اريد وانت لن تشعر بشيء هذا نوع Reflected xss بكل بساطة 

ويوجد نوع ثالث من هذه الثغرات وهو DOM XSS Attack يمكنك التعرف عليه اكثر ومعرفة كيف بتم استغلال هذه الثغرات اكثر عبر موقع OWASP اضغط هنا

اخيرا كيف تحمي موقعك من هذه الثغرات :

اولا لحماية موقعك من هذا النوع من الثغرات يجب عليك فهم كيف تعمل فهي بشكل اساسي تنشىء من الوثوق بمدخلات المستخدم اي لحماية نفسك يجب تصفية والتحقق من مدخلات المستخدم يمكنك الاستعانة بالدوال الجاهزة الموجودة بال PHP اذا لديك موقع الكتروني اذهب الان وتحقق من المدخلات قبل ان يتم اختراقك :-) 

تعليقات

المشاركات الشائعة من هذه المدونة

Path Traversal

Web application Penetration testing