最近传出BluePXL引擎和AspM2引擎的数据被黑问题

2022-11-26 16:48:02  阅读 1319 次 评论 1 条

这也是别人告诉我的,据说是用登录器就可以清掉服务器里面的数据,我先说说我对这事的看法。

首先我知道的是,现在流传的PXL源码到最新版的AspM2都受影响,其次DBS和LoginSrv内是我没找到非必要的Delete语句(目前来看),同时也没有Drop Table,因此我的偏向于DBS和LoginSrv本身是没问题的。

那么问题可能出在哪呢?
我是这样想的,首先它得要登录器,那么登录器能抓到什么呢?自然是服务器的IP。

有了IP能做什么?
要知道一件事,AspM2和BluePXL都是强制MySQL,MySQL就存在一个问题,如果你的端口没改,也没设置禁止远程登录MySQL同时密码还很简单,就会造成一个结果,你的IP泄露之后,直接通过3306用弱口令爆破你的密码,然后清掉你的数据。

当然了,上面的方式也仅仅是我的一种假设因为技术细节根本没流出来,所以可以来一起讨论讨论。

那么基于我上面的假设,应该BluePXL如何防止这种情况发生呢?
1、对于使用者而言(实际操作难度从低到高)
①服务器安全策略内将MySQL使用的端口屏蔽掉,从而使得数据库仅能在服务器内登录。
②将MySQL密码设置为强口令(可以自己找一个随机密码生成器,使用生成的强密码)。
③设置MySQL禁止root用户远程登录。
④设置MySQL仅指定一个非root账户可远程,同时仅授权该用户查询和修改权限。
⑤学习MySQL高级应用,必要的时候可以进行数据回滚。

2、对于开发者而言
①换用SqLite3,这个很好理解,毕竟连接Sqlite3需要选择数据库文件,它就算知道你的IP,它又没法访问你的数据库文件,所以自然就连不上了,换句话说,它连你Sqlite3的数据库文件都能访问了,那它删/偷你版本不也都能做到了吗。
②换回老式文件数据库,其实我不太推荐,毕竟每次数据结构变了之后都得转换数据。


完善一下:
④设置MySQL仅指定一个非root账户可远程,同时仅授权该用户查询和修改【world数据库】权限。
world数据库就是物品、怪物、魔法那个数据库。


好像也有另一种草蛋的可能,那就是SQL注入,如果最后确定真实这个,那就得从源码层面去尽量规避了。

问题已经锁定,是某处祖传的SQL代码不严谨导致的SQL注入。

手机扫描二维码访问

本文地址:https://www.uc845.com/post/1431.html
版权声明:本文为原创文章,版权归 游戏开发者 所有,欢迎分享本文,转载请保留出处!
您需要 登录账户 后才能发表评论

发表评论


表情

评论列表

  1. 279729018
    279729018 【传奇之神—手持王者之剑】  @回复
    1