漏洞利用修補(Exploit Patches)

警告

这些文档是为 SpongeAPI 7 编写的,可能已经过时。 如果你觉得你可以帮助更新它们,请提交一个 PR!

在最近幾個 Sponge 建置(SpongeForge 974+),SpongeForge 與 SpongeVanilla 修補了幾個客戶端與伺服器端連線的漏洞利用(client-server exploit)。每當檢測到使用者執行漏洞利用時,他們將會從伺服器被踢掉,並附帶解釋被踢原因的訊息。如果啟用,也會有一則紀錄訊息傳送到 console。未來可能會加上更多漏洞利用的修復。

備註

如果你知道還沒有被我們修復的漏洞,請告知我們!你可以透過 exploits@spongepowered.org 或是 PM 論壇的工作人員來聯繫我們。若漏洞利用還未被人所知,請不要將其公開張貼於 IRC、我們的 GitHub 儲存庫或論壇。這可以防止這個漏洞在我們修復之前遭到濫用。

在 Sponge 實作的漏洞利用修補

  1. 客戶端能夠執行在告示牌指令中如「op」等指令的漏洞利用

  2. 客戶端能夠強制伺服器使使用者重生時隱形

  3. 客戶端能夠設定物品的顯示名稱並使其超過字數限制

請注意,這些修復無法被禁用,現在只能設定其是否被記錄。

警告

在最近幾個 Sponge 建置中,我們停用了隱形的漏洞利用修補,因為有些檢測方法錯誤地指責使用者執行了漏洞利用。

紀錄訊息控制

漏洞利用修補的紀錄訊息能夠在 Sponge 設定檔中被個別控制。請參閱 global.conf 頁面以獲得更多資訊,以下是可用選項的簡要概述:

# Log when server receives exploited packet with itemstack name exceeding string limit.
exploit-itemstack-name-overflow=false

# Log when player attempts to respawn invisible to surrounding players.
exploit-respawn-invisibility=false

# Log when server receives exploited packet to update a sign containing commands from player with no permission.
exploit-sign-command-updates=false

小訣竅

紀錄訊息也能夠透過指令而非直接修改設定檔來控制。例如想啟用告示牌指令漏洞利用的紀錄,在 console 輸入 sponge config -g logging.exploit-sign-command-updates true(如果你是 OP,也可以在遊戲中輸入該指令)。