بسم لله الرحمان الرحيم
سلام عليكم ورحمة لله و بركاته
اليوم راح نتكلم على ثغرة مراكز رفع
من جهة برمجة طبعا أمثلة راح تكن بـ PHP
راح نتكلم على مراكز الرفع :
1-التي تقبل كل إمتدادات
2-التي تعتمد على إسم
3-التي تعتمد على نوع الملفFILE TYPE
4-التي تعتمد على طول و العرض صورة
2-التي تعتمد على إسم
3-التي تعتمد على نوع الملفFILE TYPE
4-التي تعتمد على طول و العرض صورة
جمعت أربعة أنواع راح نتكلم عليهم
نبدأ على بركة الله
ملاحظة : نقرة على صورة لتكبيرها
[1]
يقبل جميع إمتدادات
شاهد كود
![]() |
نرى أنه لا يوجد أي تحقق امتداد او نوع الملف المرفوع
يعني يستطيع مهاجم رفع أي شيء يريده
[2]
التي تعتمد على إسم
شاهد كود
نرى هنا اننا إستعملنا الدالة eregi()
لتحقق من انه يوجد (.jpg)
في اسم الملف
و هذا أيضا يعتبر خطأ
لانه يمكن تخطيه بجعل إسم الملف هكذا
bad_file.jpg.php
الكود عندما يجد .jpg يرفع الملف
[3]
تعتمد على نوع الملف
FILE TYPE or FILE MIME
الاكثر إنتشارا في وقت الحالي
شاهد كود
نلاحظ هنا متغير
$allowed_ext
قيمته
image/jpeg
ونرى ان هناك شرط لكي يتم رفع الملف
و شرط يجب ان يكون تساوي
نفس شيء خطأ برمجيلان المهاجم يستطيع تغيير في نوع الملف عند عمل POST
بإستعمال Headers Editors
مثال إضافة موزيلا فايرفوكسTamper Data
4
تعتمد على طول و العرض صورة
شاهد كود

نرى اننا إستعملنا الدالة getimagesize()
لجب معلومات عن حجم الصورةو
وضعنا متغيرين width & height
طول و العرض
و هناك شرط يتحقق من ان طول و العرض موجودة
و هذا أيضاا يسمى خطأ برمجي :
Pمهاجم يدمج صورة مع ملفه الذي يريد رفعه أوبس
تخطى شرط
.....
الان نضع طريقة للحماية بتحقق من إمتداد بدون نقاش
يعني هذا
dz.jpg
dz.jpg.php
dz.php.jpg.php
يعني أخر امتداد نشوف كيف
اول نجيب ملف
مثلا
dz.jpg.php
نقسموا على عدد النقاط الي فيه
يصبح هكذا
dz
jpg
php
نشوف إمتداد الي رقموا هو عدد نتائج بعد تقسيم
هنا عندنا 3 نتائج نروح نتيجة 3 و هي php
ونرى ان هناك شرط لكي يتم رفع الملف
و شرط يجب ان يكون تساوي
نفس شيء خطأ برمجيلان المهاجم يستطيع تغيير في نوع الملف عند عمل POST
بإستعمال Headers Editors
مثال إضافة موزيلا فايرفوكسTamper Data
4
تعتمد على طول و العرض صورة
شاهد كود

نرى اننا إستعملنا الدالة getimagesize()
لجب معلومات عن حجم الصورةو
وضعنا متغيرين width & height
طول و العرض
و هناك شرط يتحقق من ان طول و العرض موجودة
و هذا أيضاا يسمى خطأ برمجي :
Pمهاجم يدمج صورة مع ملفه الذي يريد رفعه أوبس
تخطى شرط
.....
الان نضع طريقة للحماية بتحقق من إمتداد بدون نقاش
يعني هذا
dz.jpg
dz.jpg.php
dz.php.jpg.php
يعني أخر امتداد نشوف كيف
اول نجيب ملف
مثلا
dz.jpg.php
نقسموا على عدد النقاط الي فيه
يصبح هكذا
dz
jpg
php
نشوف إمتداد الي رقموا هو عدد نتائج بعد تقسيم
هنا عندنا 3 نتائج نروح نتيجة 3 و هي php
شاهد كود
$filename = "dz.jpg.php"; # إسم الملف
$points = explode("." , $filename); # تقسيم ملف على حسب نقاط
# و نتائج تحفظ على شكل مصفوفة في متفير $points
$num = count($points); # يحسب عدد نتائج الي هي ثلاثة
$ext = $points[$num-1]; # أنقصنا واحد لان مصفوفات تبدأ العد من صفر
echo $ext; # إمتداد
أظن أنه مفهوم نوعا ما
23 commentaires:
مااان الكود بتاعك الي بتقول عنه محمي
قدرت اتخطاه بملف اسمه
p.jpg.php
في مشكلة ببعض الاخطاء
يمكن لانك حطيط -1
@Paulzz
عفوا حبيبي خطأ في شرط
وضعته عكسي لو رفعت jpg
لن يقبله
خطأ هنا
$points[count($points)-1] != 'jpg'
يجب ان يكون هكذا
$points[count($points)-1] == 'jpg'
جاري التعديل و شكرا على تنبيهك
شكرا" على ردك السريع بس عندي ملاحطة اخيرة اخي
في طريقة اخرى لتخطى مركز الرفع و رفع شل و هي انو نرفع شل باسم name.php.jpg و بينقرأ عادي كأنه شل و هذه طريقة مشهورة كتيير و كتيير من السكريبتات الرفع مصابة بها و السكريبت الرفع بتاعك كماان
تم التخطي بنجاح و تشغيل الشل فالكود برأي بده بعد تعديل
@Paulzz
اهلا بك مجددا حبيبي
ملف يشتغل هكذا
name.php.jpg
الا اذا كانت هناك
.htaccess
تشغل ملفات
.jpg
على انها
.php
و هنا تكلمت من جهة
php فقط
و سرني تكلم معك سلام
لا ماااان
بيشتغل بدون اي ملف .htaccess
السيرفر بيقرأ كphp
اذا جربت على localhost مش لح يمشي الحال
جرب على شي سيرفر لينكس و شوف
اكيد بتكلم اذا كااان السيف مود اووف
Paulzz اخي
name.php.jpg مستحيل يشتغل على السيرفر لان الاباتشي يشغله كصوره
يمكن اصدارات الاباتشي القديمه بتشغله بعد اضافة علامة النول
Lagripe-dz تحيتي لك اخي
@Anonymous
مرحبا بيك خويا
+
كلامك صحيح
لله يبارك عليك خويا ولله نحمد ربي ختراك عندي واحد ولد بلادي قاوي كيفك ربي يحفضك خويا و ربي يعلمنا حنا هههههههه نشالله نوليو كيفك
امين ياربي
ههمممممم
يمكن تخطي عمليات الترقيع في مراكز الرفع بي وضع
shell.p.hp
مثل بعد ذالك يمكن البحث عن مدير الملفات مثل
FCKeditor / TinyMCE
لتغيره إلى PHP
وللا لازم تكون مرووووتي معا السارفير لوول هههه
مثال
http://1337day.com/exploits/16267
// KedAns-Dz
Anonymous
كلامك صح .. بعد رفعه بإمتداد php
لازم تبحث عن ثغرات lfi
لإدراجه بإمتداده الأصلي كإضافة
@Anonymous , @KedAns-Dz
جرب تتخطى الاخير الوضعتوا
يتحقق من إمتداد بدون منازع
يعني file.jpg
غير ممكن ترفع حاجة أخرى
سلام .. و مرسي على مرورك و تعليقاتكم
خويا عجبني شرحك
راح ننقلها باش تعم الفايدة
لله يبارك ماشاء لله حبيبي
@chaMsou_23i
مكاش مشكل خويا
+
لله يحفظك
By MCA-CRB
نسيم رك تستيكي الله يبارك
ماشاء الله عليك بتوفيق
دئما متميز ودئما مع الجديد
نعم يا أخي @lagrip-dz
صح الترقيع اللي رفعتو مليح ...
لاكن المشكل كيما قتلك في شركات و مجموعات البرمجة الأخر و الكبيرة مثل
FCKedtor & TinyMCE
زعما امدارين مدير ملفات ويرقعوه كل يوم تقريبا بصح دايمن يخليو ثغرات وراهم ... تقدر تكسر الحماية فيهم برفع الملف مخفي بإمتاد ph.p
وتغيرلو إمنتادو من مدير الملفات
مثال http://1337day.com/exploits/16267
هاذ الإستغلال بالمطاسبلوت
في هاذ السكريبت راك مكثر من الدالة
if
وراك حاط شروط برمجية بزاف ... هادو كي تولي تصمم في سكريبت كبيرة يخلقواك مشاكل برمجية ...
المطورين يستخدمو أساليب الــ protector
اللي هوا تاني مملوى ثغرات هههههههه
المهم علا خير ... وصحا فطورك
@MCA-CRB
أهلا بك خويا ;)
@KedAns-Dz
أهلا بك مجددا أخي
أظن أني لم أكثر من شروط
و قد وضعت أصغر حل و أبسطهم لو جاءت في برمجياتي تشوف الكبر :D
و انا تكلمت عن مراكز رفع
FCKedtor & TinyMCE
محرارات على مأظن
و أظن أني رأيت إستغلالك ممن قبل اظن كتبها str0ke
قديما
Joomla 1.5.12 TinyBrowser
و شكرا لك مجددا على زيارتك
و صحة صحورك و صحة فطورك
و رمضان مبارك
ربي يبارك فيكم خاوتي
ربي يحفظكم و يدوم محبتكم
سلام
شكرا أخي ...
صحا رمضانك ...
نعم كتب الإستغلال الأول الأخ KeyStr0ke
راهو امعانا في Inj3ct0r Team
هاداك الإستغلال بالميتا .. كي تولي في سارفير ويندوس تقدر ددخلو مباشرتا وترفع البايلود بإمتداد ExE
بعد رفعه مع php
&& الأخ صلاح Indoushka
راه وللا ... الحمد لله على سلامتو وعلا سلامت كل الجزائرين
إيماللا كي راك اتصمم سكريبتات .. انديرولها قعدة ونصممو سكريبت جزائرية تاعنا 100 % واش رايك ؟؟
لووول
بصراحة هناك حل واحد لكل هذا الجدال
لا تعرض الصورة عبر مسارها الحقيقي
بل عبر ملف بي اش بي
يقوم بأخذ المحتوى و اضهاره
image.php?id=1565465465
و يكفي هذا
@Security-Dz
نعم هذه طريقة من ظمن طرق حماية
و شكرا على زيارتك القط :))
سلام عليكم ،
?? أخي ألا يكفي تغييراسم الصورة
يعني يعطيك اسم مرقم
32342.jpg
و بارك الله فيك
Post a Comment