闪电贷攻击:Sashimi Swap被黑事件分析

  • SharkTeam
  • 更新于 2022-03-04 15:24
  • 阅读 4518

Sashimi Swap被黑事件分析

近日,多链部署去中心化交易协议Sashimi Swap遭受闪电贷攻击,损失近20万美元(近127万人民币)。

SharkTeam第一时间对此事件进行了攻击分析和技术分析,并总结了安全防范手段,希望后续的区块链项目可以引以为戒,共筑区块链行业的安全防线。

一、事件分析

image.png

1.创建攻击交易

交易Hash:0x90b97079f8cf445c7831d12494633ca351040a6099595e8980c6be84bb8408bc image.png

2.发起攻击

以0xd6a816cc291b24267c03c23c730a84a2699f32a7cf714c8cbe3e47321c76b08f为例

(1) 闪电贷399.64 WETH image.png

image.png

(2) 新建Token合约,用于创建新的交易对 image.png

(3)添加流动性 image.png

攻击者将1 tokenB和1 tokenC按1:1添加交易对tokenB/tokenC的流动性 image.png

攻击者将1 weth和1 tokenC按1:1添加交易对WETH/tokenC的流动性 image.png

(4) 将150 WETH兑换为 6261UNI image.png

(5) 添加流动性 image.png

攻击者将1 WETH和1 tokenB按1:1添加交易对WETH/tokenB的流动性 image.png

攻击者将247.64 WETH和247.64 tokenA按1:1添加交易对WETH/tokenA的流动性 image.png

(6) 调用swapExactTokensForETHSupportingFeeOnTransferTokens函数获利 image.png image.png

利用路径tokenA=>WETH=>tokenB=>tokenC=>WETH,获利160.5ETH image.png

根据swapExactTokensForETHSupportingFeeOnTransferTokens函数的代码,发现在兑换过程中是以第一个pair记录的WETH做计算,将第一个pair的WETH兑换到其他pair中。 image.png

(7) 攻击者移除流动性 image.png

(8) 攻击者利用得到的WETH重复获利2次 image.png image.png

(9) 闪电贷还款 image.png

通过以上攻击过程,攻击者最终获利6261.3 UNI,4466096 SASHIMI以及63762 USDT,价值约23万美元。

3.Token兑换。

以0xddc97eb25d7b7baccd9694abe3f2ba6659471d5a8a9bf1f441e3aaad017a1164为例: image.png 4.混币。通过Tornado平台将攻击获得的资产进行混币。 image.png

本次攻击的根本原因在于:swapExactTokensForETHSupportingFeeOnTransferTokens函数在兑换过程中误以第一个pair记录的WETH做计算,将第一个pair的WETH兑换到其他pair中,黑客利用该漏洞并通过闪电贷借出资金实施攻击并获利。

二、安全建议

SharkTeam提醒您,在涉足区块链项目时请提高警惕,选择更稳定、更安全,且经过完备多轮审计的公链和项目,切不可将您的资产置于风险之中,沦为黑客的提款机。

SharkTeam作为领先的区块链安全服务团队,为开发者提供智能合约审计服务。智能合约审计服务由人工审计和自动化审计构成,满足不同客户需求,独家实现覆盖高级语言层、虚拟机层、区块链层、业务逻辑层四个方面近两百项审计内容,全面保障智能合约安全。

Twitter:https://twitter.com/sharkteamorg

Telegram:https://t.me/sharkteamorg

更多区块链安全资讯与行业分析,点击下方链接查看 D查查|链上风险核查

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
SharkTeam
SharkTeam
0xC0f5...8888
SharkTeam是领先的Web3安全服务提供商,提供智能合约审计、链上分析和应急响应服务。 Web: https://www.sharkteam.org Telegram: https://t.me/sharkteamorg Twitter:https://twitter.com/sharkteamorg