eos上线以来智能合约的攻击方式

一 智能合约代码问题

1 代码数值溢出漏洞(狼人杀,比如asset类乘法存在检查溢出无效)
2 未检查code == eosio.token (假币风险)
写智能合约入口,dispacher时,没有做关键的检查
3 转账通知里,未判断 to == _self

二 伪随机数代码重存在的一些问题

1 使用tapos_block_prefix,tapos_block_num,transacation_id来当做随机数种子,可以预测

解决,可以上传随机数种子

三 同步开奖时被利用智能合约钩子

1 同步开奖,可以拉取代码,在主网新建合约同步跑,如果碰到必胜的条件,给正式合约代码发交易。
2 发回执,被对方拒绝,导致回滚整个交易
避免的方法:receipt之类的通知,可以采用异步发起的方式

四 不开源也被撸

1 通过get code取回abi和wast文件,可以分析程序逻辑

五 onchain调用

abi不是必须的,可以通过一些方法调用
1 在另外一个智能合约调用
2 改造客户端,不要再push action时,去调用abi

你可能感兴趣的:(eos上线以来智能合约的攻击方式)