搜索
查看: 166|回复: 8

[@法海-重要帖子]关于引擎LUA反序列化的严重BUG

[复制链接]
发表于 4 天前 | 显示全部楼层 |阅读模式



昨天听一个朋友说有个服的管理权限被破解了,于是我去看了下!发现有部分是我早期写版本时的客户端通讯事件!

这个客户端通讯存在严重的bug
反序列化函数中的漏洞代码如下:
[[
text = "return " .. text
local func = load(text)
]]
只要稍微有点技术的可以通过这个bug发送恶意代码对服务器为所欲为!

[重要说明]请所有人在任何情况下不要使用客户端通讯事件(包括说明书的例子在内),

@法海 建议优化引擎提供的反序列化函数或提供沙箱保护
 楼主| 发表于 4 天前 | 显示全部楼层
个人建议:
1.关闭所有绑定的通讯事件
2.删除Mir200\LuaScripts\System\CommonFun.lua 的deserialize(text)函数
发表于 4 天前 | 显示全部楼层
返回值禁止某些获取权限代码的字符串试试看
 楼主| 发表于 4 天前 | 显示全部楼层
传奇扫地僧 发表于 2025-5-30 14:22
返回值禁止某些获取权限代码的字符串试试看

这个是在反序列化的过程中执行的,只要避免在反序列化的过程中将字符串转为func就可以了!主要还是需要修改反序列化函数!
发表于 4 天前 | 显示全部楼层
不得不顶礼膜拜大佬了
发表于 4 天前 | 显示全部楼层
不能让用户自定义数据啊  数据内容要可控   否则导致恶意代码注入漏洞
 楼主| 发表于 4 天前 | 显示全部楼层
秦皇部落 发表于 2025-5-30 16:33
不能让用户自定义数据啊  数据内容要可控   否则导致恶意代码注入漏洞

如果你使用的是原始的反序列化函数,那么数据可不可控就由不得你了
发表于 4 天前 | 显示全部楼层
yan5225822 发表于 2025-5-30 16:35
如果你使用的是原始的反序列化函数,那么数据可不可控就由不得你了

嗯  好像是的  客户端随便改就行了
好在我没用反序列化  只有客户端会反序列化
 楼主| 发表于 4 天前 | 显示全部楼层
秦皇部落 发表于 2025-5-30 16:48
嗯  好像是的  客户端随便改就行了
好在我没用反序列化  只有客户端会反序列化 ...

即使不用反序列化也会有问题,具体的我会跟客服那边联系
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|HGEM2论坛

GMT+8, 2025-6-3 04:24 , Processed in 0.410215 second(s), 13 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表