登录页面暴露已安装的设置和插件

大家好,

我正在尝试解决我们 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 技术来查找那些可能存在安全隐患或容易被攻破的 Discourse 服务器。

如果这些信息在源代码中没有以 JSON 格式提供,编写一个脚本来提取这些信息大概也需要一个小时。毕竟,即使尝试注册,表单验证器也会提供诸如用户名和密码长度之类的信息。

我认为这些信息并不会泄露任何关于配置错误或设置不安全的迹象。

Discourse 是开源的,默认设置本身也是公开文档化的。

这显然不足以 赚取黑客奖金

我不明白为什么从我最初的问题——即希望减少我们 Discourse 站点登录页面上的信息量——转到了黑客赏金?我所询问的并非代码中的漏洞。我只是觉得登录页面上的信息过多,不太放心,因此想找到一种方法来移除这些信息。

请紧扣主题。

你好,Richard,

我对此的看法与你不同,但这是我的观点,我也理解其他人可能会有不同的看法。我觉得我们在讨论潜在威胁(这些威胁可能构成风险,也可能不构成)时,已经 somewhat 偏离了最初的请求。

有没有办法让我降低这些信息的可见性?如果不行,我就继续推进,我们可以关闭这个支持请求。