漏洞利用修補(Exploit Patches)
警告
这些文档是为 SpongeAPI 7 编写的,可能已经过时。 如果你觉得你可以帮助更新它们,请提交一个 PR!
在最近幾個 Sponge 建置(SpongeForge 974+),SpongeForge 與 SpongeVanilla 修補了幾個客戶端與伺服器端連線的漏洞利用(client-server exploit)。每當檢測到使用者執行漏洞利用時,他們將會從伺服器被踢掉,並附帶解釋被踢原因的訊息。如果啟用,也會有一則紀錄訊息傳送到 console。未來可能會加上更多漏洞利用的修復。
備註
如果你知道還沒有被我們修復的漏洞,請告知我們!你可以透過 exploits@spongepowered.org 或是 PM 論壇的工作人員來聯繫我們。若漏洞利用還未被人所知,請不要將其公開張貼於 IRC、我們的 GitHub 儲存庫或論壇。這可以防止這個漏洞在我們修復之前遭到濫用。
在 Sponge 實作的漏洞利用修補
客戶端能夠執行在告示牌指令中如「op」等指令的漏洞利用
客戶端能夠強制伺服器使使用者重生時隱形
客戶端能夠設定物品的顯示名稱並使其超過字數限制
請注意,這些修復無法被禁用,現在只能設定其是否被記錄。
警告
在最近幾個 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,也可以在遊戲中輸入該指令)。