الإعدادات والإضافات المثبتة مكشوفة في صفحة تسجيل الدخول

مرحبًا بالجميع،

أبحث عن حل لمشكلة في صفحة تسجيل الدخول على خوادم discourse لدينا. حاليًا، تعرض صفحة تسجيل الدخول إعدادات الخادم بالإضافة إلى الإضافات المثبتة. يمكن رؤية هذه المعلومات إذا نظرت إلى مصدر الصفحة أو فحصت صفحة تسجيل الدخول. كيف يمكننا إزالة هذه المعلومات من الصفحة أو إخفاؤها؟

مثال على كود الإضافة المكشوف:

<link href="[/stylesheets/poll_desktop_2_aaf730f938a1162e369c60cef250ac2b3bf97c05.css?__ws=discourse.bob.host](https://discourse.bob.host/stylesheets/poll_desktop_2_aaf730f938a1162e369c60cef250ac2b3bf97c05.css?__ws=discourse.bob.host)" media="all" rel="stylesheet" data-target="poll_desktop" data-theme-id="3"/>

مثال على الإعدادات المكشوفة:

<div class="hidden" id="data-preloaded" data-preloaded="{&quot;site&quot;:&quot;{\&quot;periods\&quot;:[\&quot;all\&quot;,\&quot;yearly\&quot;,\&quot;quarterly\&quot;,\&quot;monthly\&quot;,\&quot;weekly\&quot;,\&quot;daily\&quot;],\&quot;filters\&quot;:[\&quot;latest\&quot;,\&quot;unread\&quot;,\&quot;new\&quot;,\&quot;read\&quot;,\&quot;posted\&quot;,\&quot;bookmarks\&quot;],\&quot;user_fields\&quot;:[],\&quot;auth_providers\&quot;:[]}&quot;,&quot;siteSettings&quot;:&quot;{\&quot;default_locale\&quot;:\&quot;en\&quot;,\&quot;title\&quot;:\&quot;bobDiscourse\&quot;,\&quot;short_site_description\&quot;:\&quot;bob Integration Discourse\&quot;,\&quot;contact_email\&quot;:\&quot;infrastructure@bob.com\&quot;,\&quot;contact_url\&quot;:\&quot;https://bob.com\&quot;,\&quot;logo\&quot;:\&quot;/uploads/default/original/1X/96eba37e4fb0f19f8f04e09ad31d1bf14111e122.png\&quot;,\&quot;logo_small\&quot;:\&quot;/uploads/default/original/1X/96eba37e4fb0f19f8f04e09ad31d1bf14111e122.png\&quot;,\&quot;digest_logo\&quot;:\&quot;\&quot;,\&quot;mobile_logo\&quot;:\&quot;\&quot;,\&quot;large_icon\&quot;:\&quot;/uploads/default/original/1X/96eba37e4fb0f19f8f04e09ad31d1bf14111e122.png\&quot;,\&quot;favicon\&quot;:\&quot;/uploads/default/original/1X/96eba37e4fb0f19f8f04e09ad31d1bf14111e122.png\&quot;,\&quot;apple_touch_icon\&quot;:\&quot;\&quot;,\&quot;allow_user_locale\&quot;:false,\&quot;support_mixed_text_direction\&quot;:false,\&quot;suggested_topics\&quot;:5,\&quot;ga_universal_tracking_code\&quot;:\&quot;\&quot;,\&quot;ga_universal_domain_name\&quot;:\&quot;auto\&quot;,\&quot;gtm_container_id\&quot;:\&quot;\&quot;,\&quot;top_menu\&quot;:\&quot;categories|latest|new|unread|top\&quot;,\&quot;post_menu\&quot;:\&quot;read|like|share|flag|edit|bookmark|delete|admin|reply\&quot;,\&quot;post_menu_hidden_items\&quot;:\&quot;flag|bookmark|edit|delete|admin\&quot;,\&quot;share_links\&quot;:\&quot;twitter|facebook|email\&quot;,\&quot;desktop_category_page_style\&quot;:\&quot;categories_with_featured_topics\&quot;,\&quot;category_colors\&quot;:\&quot;BF1E2E|F1592A|F7941D|9EB83B|3AB54A|12A89D|25AAE2|0E76BD|652D90|92278F|ED207B|8C6238|231F20|808281|B3B5B4|E45735\&quot;,\&quot;category_style\&quot;:\&quot;bullet\&quot;,\&quot;enable_mobile_theme\&quot;:true,\&quot;relative_date_duration\&quot;:30,\&quot;fixed_category_positions\&quot;:false,\&quot;fixed_category_positions_on_create\&quot;:false,\&quot;enable_badges\&quot;:true,\&quot;enable_badge_sql\&quot;:false,\&quot;enable_whispers\&quot;:false,\&quot;push_notifications_prompt\&quot;:true,\&quot;vapid_public_key_bytes\&quot;:\&quot;4|170|50|111|127|76|83|223|177|204|254|218|146|40|188|175|8|235|76|71|207|133|49|159|219|30|44|72|138|250|138|188|150|192|11|194|246|81|233|148|144|142|143|243|38|251|133|5|10|219|95|160|9|246|246|186|2|162|200|182|219|187|92|28|26\&quot;,\&quot;invite_only\&quot;:true,\&quot;login_required\&quot;:true,\&quot;must_approve_users\&quot;:false,\&quot;enable_local_logins\&quot;:true,\&quot;enable_local_logins_via_email\&quot;:true,\&quot;allow_new_registrations\&quot;:true,\&quot;enable_signup_cta\&quot;:true,\&quot;enable_sso\&quot;:false,\&quot;sso_overrides_email\&quot;:false,\&quot;sso_overrides_avatar\&quot;:false,\&quot;min_username_length\&quot;:3,\&quot;max_username_length\&quot;:20,\&quot;unicode_usernames\&quot;:false,\&quot;min_password_length\&quot;:10,

تُعد جميع هذه الإعدادات ضرورية على جانب العميل، ويمكن استنتاجها على أي حال، لذا فهي بالكاد تُعتبر سرًا.

ما هي مشكلتك الدقيقة مع هذا؟

شكرًا لك ريتشارد،

بناءً على ردك، يبدو أن هذا الإعداد قياسي وقد تم تقييم المخاطر واعتبارها غير مشكلة.

كنت أعتقد أن هذه مشكلة، وذلك للأسباب التالية:

عندما يبحث الخصوم عن نقاط ضعف في المواقع الإلكترونية وطرق استغلالها المحتملة، فإنهم يبدأون بجمع أكبر قدر ممكن من المعلومات عنها. تسمح المعلومات الموجودة في كود الموقع للخصم بالانتقال من عدم المعرفة إلى معرفة أكبر دون بذل جهد كبير.

على سبيل المثال، تمنح الإعدادات المهاجم توجيهات واضحة جدًا حول كيفية إعداد نموذج الأمان، مما يسمح له باستهداف هجوم محدد. حد أدنى لطول اسم المستخدم، الحد الأقصى لطول اسم المستخدم، الحد الأدنى لطول كلمة المرور — كلها عوامل مفيدة في تضييق نطاق طرق الهجوم الممكنة. هل تم تفعيل الدخول الموحد (SSO)؟ هل تم تفعيل المصادقة الثنائية (2FA) أم لا؟

هذه المعلومات مفيدة أيضًا في العثور على خوادم ديسكورد (Discourse) عبر الإنترنت التي قد تكون مُهيأة بشكل خاطئ. يمكن استخدام “دورك جوجل” (Google Dork) للعثور على خوادم ديسكورد التي قد تكون غير آمنة أو سهلة الاختراق.

لو لم تكن هذه المعلومات متاحة بتنسيق JSON في كود المصدر، لكان من المحتمل أن يستغرق الأمر حوالي ساعة لكتابة سكريبت يستخرج هذه المعلومات على أي حال. فبعد كل شيء، عند محاولة التسجيل، سيقوم مدقق النموذج أيضًا بإعطائك معلومات مثل أطوال أسماء المستخدمين وكلمات المرور.

لا أعتقد أن أيًا من هذه المعلومات يكشف عن أي نوع من المعلومات حول سوء تكوين أو إعداد غير آمن.

إن Discourse مفتوح المصدر، ومع ذلك فإن الإعدادات الافتراضية موثقة علنًا.

من الواضح أن هذا لا يُعدّ ميزة كافية لـ الحصول على مكافأة اختراق.

لست متأكدًا كيف انتقلنا من سؤالي الأصلي، الذي كان يتعلق بتقليل كمية المعلومات في صفحة تسجيل الدخول لموقع Discourse الخاص بنا، إلى مناقشة مكافأة المخترقين؟ ما أتحدث عنه ليس ثغرة في الكود، بل مجرد وجود معلومات أكثر مما أشعر بالراحة لوجودها في صفحة تسجيل الدخول، وأردت إيجاد طريقة لإزالتها.

يرجى الالتزام بالموضوع.

مرحبًا ريتشارد،

أختلف معك في رأيي حول هذا الأمر، لكن هذا هو رأيي وأنا أفهم أن هناك أشخاصًا آخرين قد يكون لديهم منظور مختلف. أشعر أننا ابتعدنا بعض الشيء عن الطلب الأولي في مناقشة تهديدات محتملة قد تكون أو لا تشكل خطرًا.

هل هناك طريقة لي لتقليل وضوح هذه المعلومات أم أن ذلك غير ممكن؟ إذا لم يكن ذلك ممكنًا، فسأنتقل إلى الخطوة التالية وسنغلق طلب الدعم هذا.