- بواسطة x32x01 ||
لو بتشتغل على تطبيقات ASP.NET أو مهتم بأمن الويب، لازم تعرف أداة Blacklist3r 
الأداة دي مش "بتخترق" المواقع، لكنها بتكشف المفاتيح المسربة (MachineKey) اللي ممكن تخلي موقعك ضعيف أمام الهجمات.
في تطبيقات ASP.NET، الـ MachineKey زي بصمة الأمان السرية للتطبيق. وظيفته الأساسية:
توقيع بيانات المستخدم (Cookies)
حماية حالة الصفحة (ViewState)
لو المهاجم عرف الـ MachineKey:
الأداة عبارة عن منظار أمني للمطورين والمختبرين، وبتشتغل كالتالي:
بناء قاعدة بيانات
إرسال طلبات اختبار
تحليل الاستجابة
[INFO] The site is using a known, publicly exposed key.
تغيير MachineKey فورًا
تفعيل إعدادات الأمان في web.config
حماية الملفات الحساسة
استخدام خدمات إدارة أسرار آمنة
الأداة مش سلاح، دي منظار أمني:

الأداة دي مش "بتخترق" المواقع، لكنها بتكشف المفاتيح المسربة (MachineKey) اللي ممكن تخلي موقعك ضعيف أمام الهجمات.
إيه هو MachineKey وليه مهم جدًا؟
في تطبيقات ASP.NET، الـ MachineKey زي بصمة الأمان السرية للتطبيق. وظيفته الأساسية:- لما المستخدم يسجل دخول، السيرفر بيعمل كوكي عليه بيانات هويته
- الـ MachineKey بيوقّع الكوكي دا رقميًا
- لما المستخدم يرجع، السيرفر بيتأكد من صحة التوقيع
- يحفظ حالة العناصر بين Postbacks
- يمنع أي شخص يعدل البيانات المرسلة من المتصفح للسيرفر
- ممكن يزور ملفات الكوكي ويدخل على حسابات أي مستخدم، حتى Admin
- يقدر يعدل ViewState ويغير البيانات عشان ينفذ هجمات

إزاي Blacklist3r بتشتغل؟
الأداة عبارة عن منظار أمني للمطورين والمختبرين، وبتشتغل كالتالي:- فيها Blacklist من مفاتيح MachineKey اللي اتسربت على GitHub أو مشاريع قديمة
- تزور الموقع وترسل كوكي أو ViewState موقعة بكل مفتاح من القائمة
- لو السيرفر رفض كل الطلبات → الموقع آمن

- لو السيرفر قبل طلب → المفتاح المستخدم معروف ومنشور، والخطر موجود

مثال عملي لثغرة MachineKey
- الخطأ: مطور وضع مفاتيح عامة في web.config (زي A1234567890...)
- الكشف: Blacklist3r بتفحص التطبيق
- النتيجة: تظهر رسالة تحذير:
[INFO] The site is using a known, publicly exposed key.
- الخطر: المهاجم يقدر يزيف ViewState أو ملفات المصادقة
- الحل: توليد مفتاح جديد وفريد لكل تطبيق

🛡 الإجراءات الوقائية
- امسح قسم الـ machineKey من
web.configلإنشاء مفتاح عشوائي - أو استخدم أداة لتوليد مفتاح جديد وقوي
enableViewStateMac="true"→ حماية ViewStaterequestValidationMode="2.0"→ التحقق من صحة المدخلات
- منع رفع ملفات زي
web.configعلى GitHub (.gitignore)
- زي Azure Key Vault أو متغيرات بيئة النظام لتخزين المفاتيح
استخدام Blacklist3r الصح
الأداة مش سلاح، دي منظار أمني:
للمختبرين: كشف الثغرات وإبلاغ أصحاب المواقع- 🛠 لمسؤولي الأنظمة: فحص دوري للتأكد من مفاتيح غير مسربة
للمطورين: تنبيه لخطر نشر المفاتيح في الشفرة