区块见闻 区块见闻
Ctrl+D收藏区块见闻
首页 > MANA > 正文

AIR:我竟了我自己?|BurgerSwap 被黑分析_WOR

作者:

时间:

By:yudan@慢雾安全团队

据慢雾区消息,2021年05月28日,币安智能链(BSC)DeFi项目BurgerSwap被黑,损失达330万美元。慢雾安全团队第一时间介入分析,并将结果分享如下:攻击细节分析

BurgerSwap是一个仿UniswapAMM项目,但是和Uniswap架构有所区别。BurgerSwap架构总体分成。其中Delegate层管理了所有的Pair的信息,并负责创建lpPlatForm层。然后lpPlatForm层再往下创建对应的Pair合约。在整个架构中,lpPlatForm层充当了Uniswap中Router的角色,负责将计算交易数据和要兑换的代币转发到Pair合约中,完成兑换。本次事件的根本正是出在这种架构的问题上。通过一步步分析攻击者的交易行为,我们来还原整个攻击过程的核心:

波卡平行链Astar Network与NTT Digital建立Web3战略合作伙伴关系:金色财经报道,波卡平行链Astar Network背后的Astar基金会宣布与NTT Digital建立Web3战略合作伙伴关系。本次合作Astar基金会将致力于开发创新产品和创建Web3人才协作社区,并通过与NTT Digital和Astar技术合作增强技术基础设施使数十亿人能够进入Web3。(cryptopotato)[2023/7/12 10:51:01]

本次攻击开始于Pancake的闪电贷,攻击者从Pancake中借出了大量的WBNB,然后将这些WBNB通过BurgerSwap兑换成Burger代币。在完成以上的操作后,攻击者使用自己控制的代币(攻击合约本身)和Burger代币通过Delegate层创建了一个交易对并添加流动性,为后续攻击做准备。

波卡聚合身份协议Litentry将为Phala World提供聚合身份传送支持:4月9日消息,据波卡Polkadot官方报道,波卡聚合身份协议Litentry将为Phala World提供聚合身份传送支持,Phala World是第一个全面植入Soulbound理论的Phala Network链上NFT系统。Litentry团队将使用聚合身份PoC(Prove of Concept)应用程序My Crypto Profile(MCP)为Phala World打造最契合的去中心化聚合身份解决方案。作为一个去中心化的Web3.0个人数据管理工具,MCP旨在让用户能够将其在Web2.0服务商,Web3.0链上及去中心化存储中的个人数据进行聚合并实现无缝管理,用户可以在充分保护其个人隐私及匿名性的前提下,向第三方去中心化应用dApps提供个人聚合身份数据的访问权限。[2022/4/9 14:14:37]

波卡生态概念板块今日平均涨幅为5.74%:金色财经行情显示,波卡生态概念板块今日平均涨幅为5.74%。26个币种中20个上涨,6个下跌,其中领涨币种为:AR(+30.88%)、MATH(+21.70%)、CELR(+17.95%)。领跌币种为:INSTAR(-6.68%)、OM(-4.68%)、DOCK(-2.25%)。[2021/3/19 19:01:56]

在完成代币的创建和准备之后,攻击者立马通过PaltForm层的swapExactTokensForTokens函数发起了兑换,兑换路径为

直播|刘玉柱:Acala 波卡生态金融中心:金色财经 · 直播主办的金点Trend《以太坊之外的DeFi,香吗? 》11:00准时开播!本场嘉宾来自Acala 的核心开放贡献者刘玉柱 分享“Acala 波卡生态金融中心”,请扫码移步收听![2020/8/31]

接下来进行了最关键的一次操作。由于先前攻击者在创建交易对的时候使用的是自己控制的代币,在代币兑换过程中,_innerTransferFrom函数会调用攻击者控制的代币合约,于是攻击者可以_innerTransferFrom函数中重入swapExactTokensForTokens函数。为什么攻击者要这样做呢?

通过对PlatForm层的swapExactTokensForTokens函数进行代码分析,我们不难发现,合约在调用_innerTransferFrom函数时首先计算了用户的兑换数据,然后在_innerTransferFrom函数的操作后使用预先计算的数据来转发到底层进行真正的代币兑换。从这个函数层面来看,就算攻击者重入了swapExactTokensForTokens函数,底层调用的swap函数也是独立的,咋一看并没有什么问题,但是链上的一个行为引起了慢雾安全团队的注意:我们惊讶地发现,在重入的兑换过程中,兑换的数量竟然没有因为滑点的关系而导致兑换数量的减少。这究竟是什么原因呢?看来关键是底层的Pair合约的问题了。我们又进一步分析了底层调用的Pair合约,代码如下:通过分析Pair的代码,我们再次惊讶地发现在swap的过程中,合约竟然没有在兑换后根据恒定乘积公式检查兑换后的数值!!也就是说,Pair合约完全依赖了PlatForm层的数据进行兑换,导致了本次事件的发生。由于Pair层本身并不做恒定乘积的检查,在重入的过程中,PlatForm层的兑换数据预先进行了计算,在_innerTransferFrom函数完成后,Pair的更新数据也没有反映到PlatForm层中,导致重入交易中的兑换产生的滑点并不影响下一次的兑换,从而造成了损失。用图来看的话大概如下:

总结

本次攻击属于BurgerSwap架构上的问题,由于Pair层完全信任PaltForm层的数据,并没有自己再做一次检查,导致攻击的发生。最近DeFi安全事件频发,针对越来越密集的DApp攻击事件,慢雾安全团队建议DApp开发者在移植其他协议的代码时,需充分了解移植协议的架构,并充分考虑移植协议和自身项目的兼容性,且需通过专业安全审计机构的审计后才上线,防止资金损失情况的发生。攻击交易参考:https://bscscan.com/tx/0xac8a739c1f668b13d065d56a03c37a686e0aa1c9339e79fcbc5a2d0a6311e333

标签:SWAPFORWORAIRMjackSwapFOREXvolumenetworkBillionaire Plus

MANA热门资讯
DEF:「柳暗花明又一村」,还是「垂死病中惊坐起」?|行情分析_DEFI

BTC行情分析 直接先看消息层面的资讯,马斯克搞完狗狗币之后,现在趁着太平洋东岸管制比特币挖矿,开启了比特币挖矿协会,准备开始接手全球挖矿事业重心的转移。然后桥水创始人达利欧同志宣布持有比特币.

加密货币:星球日报 | 以太坊交易量超越比特币;人民银行启动金融数据综合应用试点_poloniexVIP

头条 人民银行启动金融数据综合应用试点《金融时报》记者获悉,近日,中国人民银行在北京、江苏、浙江、山东、河南、湖北、湖南、广东、广西、重庆、四川、贵州、甘肃、新疆组织商业银行、清算机构、非银行支.

比特币:平行链竞拍在即,Karura 众贷预注册正式开始_ripple

Karura众贷活动还有几天就要开始了,届时你将可以锁定你的KSM去帮助Karura在平行链竞拍中获胜。所有众贷支持者都将会在Karura上线后获得KAR奖励.

FOR:波卡国库报告第二期: 145 万个 DOT 竟然大部分都被..._CHEQD Network

加入PolkaWorld社区,共建Web3.0! PolkaWorld发布DOT国库报告第二期!本报告旨在帮助波卡社区了解国库资金使用情况,帮助生态项目更好地获得波卡国库的支持.

LLE:去中心化资产管理的破局之路--暨CellETF新品发布会_CELL

2021年的加密市场迎来了史诗级狂欢。BTC强势突破6万美元、DeFi生态以及波卡为代表的跨链生态也都在市场中有较为亮眼的表现。在诸多机遇之下,资产管理配置成为投资者最关心的事情.

CELL:Pantera Capital合伙人:比特币不是敌人,马斯克耗能观点值得商榷_Celo Euro

Odaily星球日报译者|Moni 上世纪末,互联网经济开始腾飞。但在1999年5月31日,《福布斯》发表了一篇文章,声称“有理由预计在未来十年内,一半的电网将为数字互联网经济提供动力,这篇文章.