相关文章:
Rust智能合约养成日记合约状态数据定义与方法实现
Rust智能合约养成日记编写Rust智能合约单元测试
Rust智能合约养成日记Rust智能合约部署,函数调用及Explorer的使用
Rust智能合约养成日记Rust智能合约整数溢出
这一期中我们将向大家展示Rust合约中重入攻击,并提供给开发者相应的建议。本文中的相关代码,已上传至BlockSec的Github上,读者可以自行下载:https://github
数字资产托管机构Aegis Trust新增支持Cosmos生态资产:12月9日消息,数字资产托管机构Aegis Trust宣布新增支持Cosmos生态资产,允许项目通过其提供的基础设施和合规解决方案托管协议财库资产。此前,加密货币托管机构Aegis Trust宣布推出NFT保险服务,将为机构投资者、对冲基金和交易所持有的代币化资产提供高达2500万美元的保险。[2022/12/10 21:34:46]
...}
动态 | 安全人员发现新型macOS恶意软件 疑似朝鲜黑客组织Lazarus所为:安全研究人员Dinesh Devadoss周二在加密货币交易平台发现了一种新的macOS恶意软件样本,据信是朝鲜黑客组织Lazarus所为。这种威胁的检出率非常低,并且具有从远程位置检索有效载荷并在内存中运行的能力,这使得分析变得更加困难。(Bleeping Computer)[2019/12/4]
在合约B中,withdraw函数开头处的assert!(self
动态 | 币安钱包Trust Wallet增加对Zcoin的支持:据Zcoin(XZC)官方消息,币安钱包Trust Wallet增加了对Zcoin的支持。[2019/2/27]
self
...}由于上一次进入withdraw以来,victim合约中的attacker_balance还没有更新,所以还是100,因此此时仍旧可以通过assert!(self
};}
此时的执行效果如下:
$nodeTriple_Contracts_Reentrancy
}Victim::attacker_balance:40FT_Token::attacker_balance:60FT_Token::victim_balance:140
可见由于此时的Victim合约在withdraw的时候事先更新了用户的余额,在调用外部的FungibleToken实施转账。因此当第二次重入了withdraw的时候,Victim合约中保存的attacker_balance已经更新为40,因此将无法通过assert!(self
}Victim::attacker_balance:40FT_Token::attacker_balance:60FT_Token::victim_balance:140
可见限制跨合约函数调用时的GasLimit也能起到防止重入攻击的效果。
本期总结和预告
这一期我们讲述了rust智能合约中的整数溢出问题,同时给出了建议,在书写代码时尽量先更新状态,再执行转账操作,并且设定合适的gas值,可以有效抵御重入攻击,下一期我们将讲述rust智能合约中的DoS问题,敬请关注。
标签:USTANCbalanceLANCCustody Tokenguaranteed-ethurance-token-extraDollarBalance BondLance Coin
在过去的两个月中,MetaCollectiveDAO的23位创始成员一直在举行两周一次的zoom会议,以制定DAO的路线图.
1900/1/1 0:00:00吴说作者|ColinWu本期编辑|ColinWu近日,以腾讯、阿里巴巴为首的旗下NFT平台,在接受相关监管部门沟通后,纷纷删除了NFT相关字样,改名为“数字藏品”.
1900/1/1 0:00:00今年的市场在Scaling与多链的的主题下百花齐放,异彩纷呈,关于选择与支持何种扩容路径的讨论与争议此起彼伏,从未停歇.
1900/1/1 0:00:00——元宇宙的突然火爆引发了大众的参与和学习,于是我准备从宏观角度出发,逐步为大家分享关于这方面的内容。人们当下所追逐的浪潮,未必是元宇宙真正的形态.
1900/1/1 0:00:00前几天,围绕ConstitutionDAO和PEOPLE的讨论几乎占据了所有社交媒体。从27号开始截止至发稿日,从Footprint的数据可以看到,PEOPLE的价格如过山车一般经历了暴涨和暴跌.
1900/1/1 0:00:009月26日下午,博鳌亚洲论坛国际科技与创新论坛第二届大会深圳推介会在深圳软件产业园基地5B栋4楼鸿达厅举办.
1900/1/1 0:00:00