当前位置: 首页 > news >正文

历年跨链合约恶意交易详解(一)——THORChain退款逻辑漏洞

漏洞合约函数

function returnVaultAssets(address router, address payable asgard, Coin[] memory coins, string memory memo) public payable {
        if (router == address(this)){
            for(uint i = 0; i < coins.length; i++){
                _adjustAllowances(asgard, coins[i].asset, coins[i].amount);
            }
            emit VaultTransfer(msg.sender, asgard, coins, memo); // Does not include ETH.           
        } else {
            for(uint i = 0; i < coins.length; i++){
                _routerDeposit(router, asgard, coins[i].asset, coins[i].amount, memo);
            }
        }
        asgard.call{value:msg.value}(""); //ETH amount needs to be parsed from tx.
    }

相关交易与地址

攻击者地址:0x8c1944fac705ef172f21f905b5523ae260f76d62

 

漏洞合约地址:0xC145990E84155416144C532E31f89B840Ca8c2cE

执行的恶意交易:

具体细节分析

在跨链代链转移场景中,合约通过触发事件(emit event)通知链下节点执行后续操作。该函数作为一个跨链合约的函数,其参数asgard可被攻击者所操控,同时在合约里进一步调用了该参数的call函数。攻击者即可构造一个恶意合约,将asgard设置为该合约地址,并在该合约fallback函数里主动伪造跨链事件,诱导链下节点误判为合法跨链交易来实施恶意交易

具体实施:

攻击者调用该函数,并通过构造的合约发起名为Deposit的事件,该事件与THORChain的ROUTER合约中deposit函数发起的事件构造相同,但包含不符合标准的memo:Do not rush code that controls 9 figures,链下节点捕捉到该事件后发现不符合标准,即触发对应的退款逻辑,通过transferout函数将对应的token“退还”给攻击者,攻击者即通过该方法盗取对应的代币。

参考链接

https://thearchitect.notion.site/THORChain-Incident-07-22-874a06db7bf8466caf240e1823697e35https://etherscan.io/

https://slowmist.medium.com/slowmist-analysis-of-three-consecutive-attacks-on-thorchain-6223f1c691be

相关文章:

  • 深入解析 C++20 中的 std::pmr::polymorphic_allocator
  • 大模型备案:拦截关键词列表与敏感词库深度解析
  • VUE如何后端控制及动态路由详细讲解
  • Linux驱动程序
  • Rust 有问有答之 use 关键字
  • 《Python实战进阶》No.41: 使用 Streamlit 快速构建 ML 应用
  • python leetcode简单练习(2)
  • 如何免费阅读Medium文章?
  • mysql JSON_ARRAYAGG联合JSON_OBJECT使用
  • 第二章:NumPy进阶与数据处理
  • 机器学习基础概括
  • windows通用网线连接ubuntu实现ssh登录、桌面控制、文件共享【实操常见问题解决思路】
  • 本地Ollama+Spring AI alibaba智能客服(飞机票预定示例Demo)Mac版
  • Redis7——进阶篇(七)
  • datetime模块
  • ECharts 中轴的分类及常见使用场景
  • 【FreeRtos】随手记录想法和DeepSeek的交流
  • anaconda学习
  • vue 路由
  • 把doi直接插入word中,然后直接生成参考文献
  • 做网站接口多少钱/东莞做网站哪家公司好
  • 网页设计与网站建设 倪宝童/seo教程seo教程
  • 网站推广的定义/各城市首轮感染高峰期预测
  • 小型网站建设/什么软件可以找客户资源
  • 太原医疗网站建设/软文的概念是什么
  • 门户网站域名是什么意思/安卓优化大师官方版