مقدمة
أثناء تصفحي لإحدى منصات البيتكوين، لاحظت وجود خاصية توثيق الحساب، والتي تتطلب من المستخدم رفع مستندات رسمية مثل الهوية أو جواز السفر مرفقة مع صورة سيلفي.
فضولي الأمني جعلني أقرر تحليل آلية الرفع ومعرفة أين يتم حفظ هذه الملفات وهل يمكن الوصول لها بدون صلاحيات؟
الخطوة الأولى: مراقبة عملية الرفع عبر Burp Suite
قمت برفع صورة تجريبية (Selfie) وأرسلت الطلب إلى Burp Suite لتحليله.
النتيجة؟ حصلت على رابط الملف الذي تم رفعه:
https://test.com/portal/api/uploads/241241451252/content
لاحظت أن الرقم في الرابط (241241451252
) يبدو وكأنه معرّف فريد (ID) للملف، وهذا فتح باب الاحتمالات…
الخطوة الثانية: تجربة تغيير المعرف يدويًا
جرّبت تغيير الرقم في نهاية الرابط إلى أرقام عشوائية… لكن أغلبها أعاد لي أخطاء 404، ولم أحصل على أي ملف.
لكن هذا لم يكن كافيًا لردعي…
الخطوة الثالثة: استخدام FFUF لاكتشاف الملفات
قررت استخدام أداة FFUF لأقوم بتخمين المعرفات بشكل سريع وواسع.
إعداد الملف:
أنشأت ملفًا بسيطًا يحتوي على أرقام عشوائية مكونة من 6 خانات وسميته num6.txt
.
تنفيذ الهجوم:
ffuf -w num6.txt -u https://test.com/portal/api/uploads/{number}FUZZ/content -mc 200