内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

usdt钱包(caibao.it):首发 | Mercurity.finance智能合约安全漏洞剖析

2021-01-03 04:49 出处:  人气:   评论( 0

今年美国大选虽说有了普遍意义上的尘埃落定,但竞选效果并未明确。

现在拜登团队宣布胜选,美国媒体纷纷宣布拜登当选下届美国总统。而另一方面,川普拒绝接受败选效果,他连续举行计票,并宣称要接纳法律行动。

造成现在这个杂乱效果的主要缘故原由在于美国没有设立自力的对大选事务具有权力的权威性的选举委员会,在默认情况下,是新闻机构负担了这个角色。如果川普获得过大的权力,控制了大多新闻机构,营造虚伪选票,效果尚未可知。

这就意味着某种程度上,可以说是极尽中央化的“推特治国”后的又一“媒体选举”。

从选举,到互联网,到区块链,2020年,中央化不再是权威的体现,而是“独断”、“专权”的代名词。

北京时间11月9日,CertiK平安研究团队发现DeFi项目Mercurity.finance智能合约代码部门存在中央化风险。

项目拥有者拥有过大权限,可以举行随便数目的铸币,并为给定账户提供随便数目的奖励。

手艺步骤剖析如下:

ERC20Token.sol

代码地址:

https://github.com/MER-DAO/MEE-core/blob/main/contracts/tokens/ERC20Token.sol

部署地址:

https://etherscan.io/address/0xe1b583dc66e0a24fd9af2dc665f6f5e48978e106#code

如图一所示,项目拥有者在ERC20Token.sol智能合约中的组织函数可以将自身设置为issuer身份。由于在智能合约部署时,其组织函数会被自动执行,因此项目拥有者会自动成为issuer。

通过图二中显示的onlyIssuer修饰词的限制,随便拥有issuer身份的外部挪用者将可以执行随便被onlyIssuer修饰词修饰的函数。

,

欧博亚洲电脑版下载

欢迎进入欧博亚洲电脑版下载(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。

,

因此,拥有issuer身份的项目拥有者可以执行图三中具有铸币方式的issue函数,从而可以为随便账户铸造随便数目的代币。

除此之外,该项目还存在一个允许项目拥有者提供代币奖励的后门。该后门存在与AwardContract.sol智能合约中。

AwardContract.sol

代码地址:

https://github.com/MER-DAO/MEE-core/blob/main/contracts/AwardContract.sol

部署地址:

https://etherscan.io/address/0x8Ea43ce113456f45defd0E27e809d719b9CA2362#code

当AwardContract.sol被项目拥有者部署到区块链上时,AwardContract合约的组织函数会被自动执行,也就意味着图四中43行代码被自动执行后,项目拥有者会自动被赋予governor身份。

拥有governor身份的外部挪用者可以类似的执行随便被onlyGovernor修饰词修饰的智能合约函数,例如图六中所示addFreeAward函数。

由于所有外部挪用者都可以通过挪用图七中withdraw函数来将属于自己的奖励取出,因此当governor身份的外部挪用者为某一个账户(假设为A)添加了某一数目的奖励后,A账户可以对该函数举行挪用,并通过246行的判断条件检查后,通过在281行挪用safeIssue()函数来取出被添加的奖励。

综上剖析,Mercurity.finance项目中智能合约存在的后门破绽均来自于项目拥有者权限过大。在该类中央化治理机制中,项目拥有者得到了可以随时赢利或者摧毁项目经济系统的权力。

CertiK平安研究团队建议Mercurity.finance更新项目中接纳的治理系统,引入社区治理的机制。

CertiK在此提醒宽大用户:

1. 合约代码需要经由严酷的平安验证和审计才可被允许宣布。

分享给小伙伴们:
本文标签:

相关文章

Copyright © 2002-2019 佳木斯新闻 版权所有 Power by DedeMao