元宇宙非小号金色财经交流群社区官网

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

浏览:83|时间:2023-08-07 07:00:25
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合约代码的函数访问修饰符的错误使用导致任何人都能绕过授权转账额度的检查,以极低的成本发起攻击。成都链安·安全实验室在此提醒:各大智能合约运营商,在合约正式部署上线前应做好充分的代码审计工作,即使是一些简单的代码错误也会财产损失。

ETH VET 合约 成都 智能

  • 什么是比特币智能合约?智能合约的前世今生

    什么是比特币智能合约?智能合约的前世今生

    2021-06-22 16:37:08

    一、什么叫智能合约 智能合约是时下趋之若鹜的区块链专有名词,其火爆水平与其说定义的模糊不清水平相伴相生。PeterTodd就曾坦言:“没人了解智能合约到底是啥,大家应当必须推测机去执行它。”要了解智能合...

  • 什么是智能合约?智能合约有哪些特点?

    什么是智能合约?智能合约有哪些特点?

    2021-08-05 17:53:08

    如今我们的日常生活基本上离不了合同书,往大说,工作中是与企业签署的劳动合同书,购房是与房地产公司签署买房合同,购买保险是与车险公司签署保险合同;往变小说,网上购物、定外卖送餐、打的、购买彩票全是与有关的服务项目给予...

  • 比特币有智能合约吗?比特币如何支持智能合约?

    比特币有智能合约吗?比特币如何支持智能合约?

    2022-09-25 17:50:30

    比特币有智能合约吗?当然。通用术语中的智能合约是一种数字化协议,在满足预定标准时自动执行。比特币是支持多种智能合约以支持多笔交易的领先货币之一。比特币经过重大升级,使加密货币能够轻松处理更复杂的交易。这些智能合约为加密货...

  • 什么是比特币合约?交割合约和永续合约有什么区别?

    什么是比特币合约?交割合约和永续合约有什么区别?

    2021-12-01 13:59:34

    一.什么叫比特币期货比特币期货又被称为比特币合约,它与务必具体拥有虚拟货币才可开展的币币交易有较大不一样。比特币合约使你可以预测分析BTC的市场价格和对冲交易风险性。这类交易规则,代表着你购买的是价格趋势,在于财产自身。...

本站分享的区块链、Web3.0元宇宙、NFT、数字藏品最新消息等相关数藏知识快讯NFR资讯新闻,与金色财经非小号巴比特星球前线Btc中国官网无关,本站资讯观点不作为投资依据,市场有风险,投资需谨慎!不提供社区论坛BBS微博微信交流群等相关币圈信息发布!
本站内容来源于互联网,如存在侵权及违规内容投诉邮箱( zztaobao@vip.qq.com )