设为首页 加入收藏
> 九游会登录地址 > 成都链安损失约820万美元Visor Finance遭黑客攻击事件全解析

成都链安损失约820万美元Visor Finance遭黑客攻击事件全解析

  原标题:成都链安损失约820万美元,Visor Finance遭黑客攻击事件全解析

  12月21日,链必应-区块链安全态势感知平台舆情监测显示,Uniswap V3流动性管理协议Visor Finance于北京时间12月21日晚上10点18分遭受攻击,总损失约为820万美元。关于本次攻击,成都链安技术团队第一时间进行了事件分析。

  2. 通过攻击合约调用Visor Finance项目的抵押挖矿合约deposit函数,并指定存入代币数量visrDeposit为1亿枚,from为攻击合约,to为攻击者地址

  4. 由于from是攻击合约,deposit函数执行第56-59行的if分支,并调用攻击合约的指定函数;

  (1)第57行,调用攻击合约的owner函数,攻击合约只要设置返回值为攻击合约地址,就能够通过第57行的检查;

  (2)第58行,调用攻击合约的delegatedTransferERC20函数,这里攻击合约进行了重入,再次调用抵押挖矿合约的deposit函数,参数不变,因此抵押挖矿合约再次执行第3步的过程;

  5. 由于重入,抵押挖矿合约向攻击者发放了两次数量为97,624,975 vVISR的抵押凭证,总共的抵押凭据数量为195,249,950 vVISR。

  1. call调用未对目标合约进行限制,攻击者可以调用任意合约,并接管了抵押挖矿合约的执行流程;- 主要漏洞,造成本次攻击的根本原因。

  2. 函数未做防重入攻击;- 次要漏洞,导致了抵押凭证数量计算错误,不是本次攻击的主要利用点,不过也可凭此漏洞单独发起攻击。

  1. 进行外部合约调用时,建议增加白名单,禁止任意的合约调用,特别是能够控制合约执行流程的关键合约调用;