目标:

编写一个具有明显漏洞的智能合约,攻击者发动攻击,同时锁定攻击者的资金。

预期的攻击者行为:

攻击者将发送0.1以太,以便从智能合约中获得所有资金。

区块链研究实验室 |以太坊智能合约安全-编程教程

步骤1:查找已验证的新创建的合同

攻击者将使用网络爬虫获取所有新创建的合同,并查看合同是否已经过验证。 一旦合同被验证,它将显示智能合约源代码。

区块链研究实验室 |以太坊智能合约安全-编程教程

步骤2:我们来做一个简单的数学计算

区块链研究实验室 |以太坊智能合约安全-编程教程

让我们回顾一下。

目前,Solidity不提供float / double数据类型。 因此,最好使用SafeMath来避免发生意外结果。

本文转载于公众号:区块链研究实验室

相关文章: