近期出现盗币事件说明了代码审计的性
近期farmersworld出现盗币事件说明了代码审计的性
据悉,农场类型链游 farmers world 昨晚发生130盗币9370事件6165,,传闻金额超过1亿farmers world 是当前 wax 链上爆的游戏,而 wax 是基于 eos 公链二次开发的,因此同样采取 d共识,要求用户waxp 以获取 cpu、net 和 ram 资源。11月7日晚9点,一些玩家发现游戏出现“ram 不足”的提示,补充 waxp 后仍无法解决。根据discord 的讨论信息:项目智能合约与 wax 钱包均未出现漏洞,但用户waxp 的地址却不是游戏的地址,目前可能是游戏“”脚本更改了用户地址,导致用户无法获得 ram 资源。
据gamefi链游工会:今天凌晨农民世界玩家账户出现大面积事件,根据初步了解价值已经超过3亿超过200件装备、涉及1000个玩家账户。根据受害者反应出现被盗情况的账户都是使用了一个b站博主(谁占了xxx)他们提供的脚本,使用这个脚本的账户大面积出现的资产(挖机、电锯、渔船等)nft被转走的情况,用漏洞制裁脚本是代码惯用手法,尤其是游戏行业居多,在早些年魔兽玩家利用脚本漏洞,小号一个操作击垮工作室,因此代码审计的作用不仅仅是修补漏洞,防御漏洞,更重要是的构建优良的安全代码环境,从而增加的成本!
为什么会出现这种情况的发生呢?我们都知道游戏重要的是代码,代码一旦受到就会出现各种各样的问题。从而导致安全事故的发生。这也是血的教训。就好比是游戏的导致了一些不公平的规则出现。首先我们来了解一下出现这种问题的原理。
首先的原理
现在分为好多种,比如模拟键盘的,鼠标的,修改数据包的,还有修改本地内存的,但好像没有修改服务器内存的哦,呵呵!其实修改服务器也是有办法的,只是技术太高一般人没有办法入手而已!
修改游戏无非是修改一下本地内存的数据,或者截获api函数等等,这里chainlion把所能想到的方法都作一个介绍,希望大家能做出很好的来使游戏厂商更好的完善自己的技术.
输入验证,例如(在sql中):statement:=“select * from users where name ='”+ username +“';”是一个sql注入漏洞的示例
文件包含功能,例如(在php中):include($ page。'。php');是远程文件包含漏洞的示
对于可能与恶意代码链接的库,返回对内部可变数据结构(记录,数组)的引用。恶意代码可能会尝试修改结构或保留引用以观察将来的更改。
低风险漏洞
以下是审计代码时应该找到的低风险漏洞列表,但不会产生高风险情况。
客户端代码漏洞不影响服务器端(例如,跨站点脚本)
用户名枚举
目录遍历(在web应用程序中)