حل تحدى string highlighter من CyberTalents CTF


مواصفات التحدى
اسم التحدي: String highlighter
المستوى: صعب
رابط التحدي: https://cybertalents.com/challenges/web/string-highlighter
المطلوب: نحتاج الي الوصل الي العلم وهو مخفي في مكان ما في directory
بداية التحدى
حسنًا، قم بتشغيل هذا التحدي وفتح الرابط الخاص به
إنه تطبيق ويب يطبع محتوى ما يكتبه المستخدم في HTML textarea ويحدد أي لون يريده وعند الضغط علي Highlighter new يتم عرضه تحت كلمة Preview
حسنا لنحاول رؤية ما الذي سيفله التطبيق
دعونا نلقي نظرة علي source code لا يوجد شئ مهم وأيضا ال js code الموجود هو
<script type="text/javascript">
$('.sub').on('click',function(){
var color = $('select').val();
var txt = $('textarea').val();
var stringToParse = color + ':' + txt;
$.post('',{stp:stringToParse},function(data){
$('.preview').html(data);
});
});
</script>
حسنا لنجرب بعض الأشياء مثلا هل يمكننا اضافة html tag
هذا جيد لايوجد Filtered من الممكن أن يكون الموقع معرض لثغرة XSS
لنجرب
هذا جيد لكن المجبط أننا نريد أن نقوم بعمل RCE لكني قمت بالمحولة بعمل RCE عن طريق XSS لكن لم تعمل
اذا انت قمت بالمحاولة ونجحت معك اعرض طريقتك وشاركها معنا
لنقم بتجرب بعض الاشياء الاخري
نريد أن نعرف ما هي التقنيات التي يعمل بها الموقع
حسنا هذا جيد الموقع يعمل ب js , HTML , CSS , php
كيف عرفت بأنه يعمل ب php قمت بتجربت أن ادخل الي صفحة index.php وقام بارجاع الصفحة الرئيسية
قمت بتجربت بعض php tag لكن كان هذا الرد هذا ( internal server error)
لنعمل علي صفحة ال index بما ان هذه الصفحة هي .php ف معانه انه تم تضمين php tag فلنجرب بدونها
الان يقوم بطباعة أي شئ اذا هذا يعمل
لنقم بتنفيذ بعض الاوامر علي النظام
يبدو أن هناك تحقق من ال php code قمت بعمل بحث عن كيفية تجاوز هذا
وجدت بعض الاشياء المثيرة علي هذه المدونة
https://book.hacktricks.xyz/network-services-pentesting/pentesting-web/php-tricks-esp/php-useful-functions-disable_functions-open_basedir-bypass
قمت بتجربة بعض الأوامر المختلفة حتي قام هذا بالعمل
لا تنسي أن تنظر الي المدونة
`` (backticks) - مثل ()shell_exec
echo `whoami`;
هذا يعمل بشكل جيد لنري أين هو flag
لنقم بقراءة محتوي الملف
echo `cat flag_h@cked_pWn`;
والى هنا نكون قد انهينا التحدى الخاص بـ cybertalents والى لقاء اخر فى تحديات واساليب وتقنيات جديدة
تحدي جميل ، من فضلك جرب هذا بنفسك
لا تهتم بالعلم ، ولكن فكر في كيفية تعلم شيء جديد