HER:科普 | 智能合约安全审计入门篇 —— 自毁函数

By:小白@慢雾安全团队

背景概述

上次我们了解了什么是溢出漏洞和如何预防和发现它。这次我们要了解的是solidity中自带的函数——?selfdestruct自毁函数。

前置知识

我们先来了解solidity中能够转账的操作都有哪些:

1

}functionclaimReward()public{require(msg

}漏洞分析

IMF今日发布的加密货币科普视频实为两年前旧闻,且存在诸多疏漏:国际货币基金组织IMF今日在推特上发布了一条关于加密货币的科普视频,这段时长两分钟的视频最初发布于2018年6月。该视频称加密货币是“货币进化的下一步”,但没有特别提到DLT、区块链,甚至是代币名称等术语。BTC、XRP和ETH只出现在说明加密交易的图形中。尽管这段视频到目前为止已经获得了超过13

functionattack()publicpayable{addresspayableaddr=payable(address(etherGame));selfdestruct(addr);}这里我们还是引用三个角色来讲解攻击合约的攻击过程

动态 | 浙江卫视节目科普支付宝区块链防伪溯源产品:昨日,在浙江卫视播出的科普综艺栏目《智造将来》现场,支付宝首次展示了支付宝区块链防伪溯源产品,以接地气的方式公开向大众展示区块链在生活中的应用。[2019/3/4]

玩家一:Alice

玩家二:Bob

攻击者:Eve

1.开发者部署EtherGame合约;

2.玩家Alice决定玩游戏,她这辈子玩游戏从来没赢过,她觉得这个游戏可以让她体验一次当winner的快感,所以她决定连续调用EtherGame

}functionclaimReward()public{require(msg

}作为审计者

作为审计者我们需要结合真实的业务逻辑来查看address(this).balance的使用是否会影响合约的正常逻辑,如果会影响那我们就可以初步认为这个合约存在被攻击者强制打入非预期的资金从而影响正常业务逻辑的可能。在审计过程中还需要结合实际的代码逻辑来进行分析。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:31ms0-0:816ms