木星链 木星链
Ctrl+D收藏木星链
首页 > TRX > 正文

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

作者:

时间:1900/1/1 0:00:00

By:yudan@慢雾安全团队

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

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

Web3音乐播放器Meta Boom推出Freemint活动:3月4日消息,Web3音乐播放器MetaBoom推出Freemint活动,用户可在3月2日至3月7日期间通过Premint平台申请Allowlist,获取Freemint资格。[2023/3/4 12:42:26]

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

美国SEC要求上市公司披露加密风险敞口和潜在影响:金色财经报道,美国证券交易委员会希望公司公开披露他们是否接触过加密资产,包括他们是否与任何与加密相关的公司有业务往来。 SEC 公司财务部周四向美国上市公司提供的建议表明,最近加密资产市场参与者的破产和财务困境已经对这些市场造成了广泛的破坏。根据联邦证券法,公司有义务披露这些事件和附带事件已经或可能对其业务产生的直接或间接影响。

公司必须披露他们是否与已申请破产、经历过过度赎回或提取加密资产、持有客户加密资产未入账以及企业合规失败的公司有直接或间接关系。此外,公司必须描述某些公司的破产如何影响他们的业务,以及公司必须采取保护措施来保护其客户的加密资产。[2022/12/9 21:32:40]

数据:DOGE鲸鱼交易和交易量均飙升至8月的水平:金色财经报道,据Santiment的推特消息,时隔两个月,DOGE重返0.072USDT关口,同时,DOGE鲸鱼交易和交易量均飙升至8月的水平。此外,Santiment还指出,当memecoins脱钩时,市场通常会出现两极分化的情况。[2022/10/27 11:47:13]

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

LayerZero推出全链区块浏览器LayerZero Scan:9月7日消息,跨链互操作性协议LayerZero推出全链(omnichain)区块浏览器LayerZero Scan,用户可通过该浏览器来查看其基于LayerZero协议的交易而无需通过多个区块浏览器查看。[2022/9/8 13:15:03]

接下来进行了最关键的一次操作。由于先前攻击者在创建交易对的时候使用的是自己控制的代币,在代币兑换过程中,_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

标签:SWAPFORAIRPAILSWAPVouchForMeFair BERC20paint币行情

TRX热门资讯
DAO:DAO可道,非常DAO

作者:MiaBao,FounderofBeepCrypto/ChiefpartnerofWHALE感谢AlexYung.

1900/1/1 0:00:00
ECO:参与HECO节点竞选到底香不香?我们帮你算了一笔账

2020年兴盛的DeFi,为加密市场注入了生机,也拉开了公链竞争的序幕。过去一年,我们见证了以太坊生态的壮大,看到了老一代公链再次复苏。在这片战场中,表现最为勇猛的,当属头部交易所旗下公链.

1900/1/1 0:00:00
NFT:下一个NFT可能是米老鼠或Hello Kitty

来源:coindesk原作者:贾斯普雷特·卡拉编译:NFT观察员在最长的时间里,人们建立在共同利益的基础上。收集磁铁,交易卡或交换体育运动玩笑都已成为社会的货币.

1900/1/1 0:00:00
区块链:如何参与O3 Swap冰川挖矿?

进入官网:https://o3swap.com/,点击Hub 进入Hub页面,点击Deposit 连接钱包USDT挖矿:连接以太网络钱包BUSD挖矿:连接以太网络+BSC网络钱包HUSD挖矿:连.

1900/1/1 0:00:00
以太坊:以太坊将超越比特币,持续上涨逻辑是什么?

这几天网上似乎越来越多人开始讨论以太坊超越比特币的可能。之所以会出现这个现象,我觉得可能和两个因素有关:一是以太坊上面的生态越来越大;二是以太坊的价格上涨将具备机制因素.

1900/1/1 0:00:00
DEF:美国6万亿新刺激政策对市场是否奏效?

BTC行情分析昨日因为一些特别的事情,没有写行情。好几大有心的朋友,问是不是在偷偷地加仓,以至于又没有写行情。感谢大家对我们的支持,能够深刻记住我们为什么不写行情的缘由.

1900/1/1 0:00:00