捐款攻击
捐款攻击
该协议是否依赖于balance或者balanceof,而不是内部会计
漏洞描述
在以太坊网络上,任何地址的余额(无论是以太币还是代币)都可以通过address(this).balance 或token.balanceof(address)查询。然而,外部账户的余额可以被外部操作(如其他合约调用、用户转账等)影响。依赖于外部状态(即余额)可能导致合约的内部逻辑失去一致性,因为外部账户的状态在合约运行期间是不可预测的。
举例
首位存款人可以中断股份的锻造,如果总资产通过大量捐款被操纵,用户可能无法获得其存款的股份,攻击者操纵依赖于balanceof确定总资产金额并阻止其他用户通过存款换取股份
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.