حل تحدي Micro-CMS v1 من Hacker101

 

حل تحدي Micro-CMS v1 من Hacker101

حل تحدي Micro-CMS v1 من Hacker101

مرحبا بكم . اسمي احمد وانا مهندس معلوماتية . اردت ان اشارككم طريقتي في حل تحدي micro-cms النسخة الاولى من موقع hacker101 . تستطيع الوصول الى التحدي على الرابط الآتي https://ctf.hacker101.com/ctf التحدي من النوع السهل ولكنه سيكون نقطة انطلاقة للمتبدئين.

العلم الاول Flag0
بعد فتح التحدي تظهر الشاشة التالية:

micro-cms-v1

بعد زيارة صفحة 
create a new page وانشاء صفحة جديدة . لاحظت ان محتوى الصفحة ينعكس في رد السيرفر . وهذا مؤشر جيد على ان الموقع مصاب بثغرة XSS . قمت باختبار بسيط لاتاكد من وجود الثغرة عن طريق تعديل الصفحة ووضع الكود الآتي:
  • hello<script>alert(1);</script>

بعد العودة الى الصفحة الرئيسية لاحظت ظهور رسالة تحتوي على العلم الاول

micro-cms-v1


العلم الثاني SQLi
اثناء تعديل الصفحة لاحظت أن الباراميتر id يتم تمريره في الرابط . جربت فحصه باضافة فارزة (') الى نهاية الباراميتر وحصلت على العلم الثاني

العلم الثاني SQLi


العلم الثالث الدخول الغير مصرح به Unauthorized Access

بعد إنشاء الصفحة الاولى لاحظت ان الموقع اعطاها id بالرقم 12
 
العلم الثاني الدخول الغير مصرح به Unauthorized Access



حاولت الوصول الى صفحات اخرى على الموقع عن طريق زيادة رقم الـ id من 2 الى 12 ولاحظت ان الصفحة رقم 7 تعطي رد 403 والصفحات الاخرى تعطي رد 404 .

Unauthorized Access


تجولت في الموقع بحثاً عن اماكن قد يوجد فيها الـ id رقم 7 . ووجدت ان الـ id يستخدم ايضاً عند استدعاء الصفحة للتعديل editing

Unauthorized Access


بعد التوجه الى الرابط تم الحصول على العلم الثالث

العلم الرابع Stored XSS
اخر مكان تبقى لنا ان نفحصه هو صفحة الـ editing . هناك ملاحظة في الاسفل تقول ان الـ markdown مدعومة وليس السكربتات

العلم الرابع Stored XSS

بما ان محتويات الصفحات تعرض مباشرة يمكننا ايجاد طريقة لتخطي الفلاتر لتنفيذ XSS . جربت اكثر من بايلود ووجدت ان البايلود الاتي يطلق انذار وعرض كلمة xss:

  • <button onclick=alert(‘xss’)>click</button>


العلم الرابع Stored XSS


تم تنفيذ البايلود ولكن لم يظهر العلم . اضغط على view source لتجد العلم في الاسفل:

العلم الرابع Stored XSS


شكرا على القراءة. اراك في مقالات اخرى ان شاء الله


تعليقات