币为何入钱包 成都链安: VETH智能合约攻击分析

WB3交流加微信:WX-93588,⬅️此处为全站广告位,与正文项目无关
注册并登录App即可领取高达 60,000 元的数字货币盲盒:点击此处注册OKX

2020年6月30日下午5:46,Beosin-OSINT要挟情报系统发现VETH智能合约(0x75572098dc462F976127f59F8c97dFa291f81d8b)遭受进犯,被盗919299个VETH。成都链安·安全实验室第一时间对本次事情进行跟踪剖析。

根据链上买卖显现,进犯者利用自建合约(0x47ed415006c6f8052fff05fe983f31d6d24b8fdb)经过Uniswap将0.9ETH兑换为138VETH,之后对VETH智能合约(0x75572098dc462F976127f59F8c97dFa291f81d8b)发起进犯,在进犯完成后自建合约进行自我毁掉。本次进犯本钱仅0.9ETH,约合200美元。买卖详情如下:(hash:0xdd1120a90ed4112b634266d6a244b93ca86785317bc75f0e170ab0cd97c65224)

详情如下:
△图1
在盗币成功之后,进犯者将盗取的VETH经过Uniswap换成了16ETH。如下图所示:
△图2

具体进犯流程如下:
1. 进犯者创立进犯合约,经过Uniswap将0.9ETH兑换成138VETH;
2. 调用VETH合约changeExcluded函数,付出128VETH手续费,使mapAddress_Excluded[excluded]的值为true;
3. 调用transferFrom函数,因mapAddress_Excluded[excluded]的值为true,可以直接进行转账;
4. 进犯完成后,进犯者经过Uniswap将盗取的VETH兑换成16ETH。

缝隙原理剖析:此缝隙产生的首要原因是changeExcluded函数修饰符为external,使得任何人都可以调用该函数来绕过transferFrom函数内部的授权转账额度查看,将合约的VETH代币盗走。

首先剖析transferFrom函数,在函数内部先进行!mapAddress_Excluded[msg.sender]的判别,按照正常逻辑,该成果为true后,将进行授权转账额度的查看。可是转账函数_transfer的调用放在if句子体外,这就导致进犯者可以经过将mapAddress_Excluded[msg.sender]的值设置为true而绕过授权转账额度的查看,直接进行VETH代币搬运。transferFrom函数源码如下图所示:
△图3

经过剖析修正mapAddress_Excluded[msg.sender]值的代码发现,在changeExcluded函数内完成了对其值的修正,且该函数修饰符为external,可供外部调用。changeExcluded函数源码如下图所示:
△图4

在未对该值进行设置时,mapAddress_Excluded[excluded]的初始值为false,最终if判别成果为true,进入if句子体,调用_transfer进行转账,要求付出转账金额为:mapEra_Emission[1]/16(跟进mapEra_Emission[1]的来源emission,得知其值为2048*1018)即128VETH,然后mapAddress_Excluded[excluded]的值被设置为true。emission的值如下如所示:
△图5

总结:此次VETH被盗事情,缝隙出自VETH合约而非Uniswap,VETH合约代码的函数拜访修饰符的过错使用导致任何人都能绕过授权转账额度的查看,以极低的本钱发起进犯。成都链安·安全实验室在此提示:各大智能合约运营商,在合约正式布置上线前应做好充分的代码审计工作,即使是一些简单的代码过错也会财产损失。

此时快讯

【金色晨讯 | 8月7日隔夜重要动态一览】21:00-7:00关键词:LeetSwap、Ripple、Curve创始人
1. 观点:L1协议应优先考虑PoS共识机制;
2. LeetSwap:正努力重建并重新推出代币;
3. 疑似BITKRAFT Ventures地址向币安存入157万枚YGG;
4. Ripple正式启动美国市场招聘,此前曾传将重返美国市场;
5. Curve创始人目前在四个平台上的债务规模约为4870万美元;
6. Huobi社交媒体负责人:破产传闻不实,Huobi目前表现良好;
7. 灰度:千禧一代和Z世代选民可能会决定2024年“比特币选举”的结果;
8. 观点:如果CRV一半的流通市值被清算,会导致CRV的价格接近于零;
9. Coinbase报告:消费者和机构的交易量较去年同期分别下降了70%和54%。

版权声明:本文收集于互联网,如有侵权请联系站长删除。
转载请注明:币为何入钱包 成都链安: VETH智能合约攻击分析 | 币百度

相关文章