慢雾:Orion Protocol被黑根本原因在于合约兑换功能的函数没有做重入保护_BNB:EXRNchain

慢雾安全团队发布了OrionProtocol被黑分析,OrionProtocol项目的ETH和BSC链上的合约遭到攻击,攻击者获利约302.7万美元。此次攻击的根本原因在于合约兑换功能的函数没有做重入保护,并且兑换后再次更新账本存款的数值是根据兑换前后合约里的代币余额差值来计算的,导致攻击者利用假代币重入了存款函数获得超过预期的代币。

BNB Smart Chain已集成PENDLE并开放充值与提现:7月21日消息,币安公告称,已完成Pendle(PENDLE)在BNB Smart Chain(BEP20)上的集成,支持Pendle(PENDLE)的充值与提现。[2023/7/21 15:50:15]

具体分析如下:1.攻击者首先调用ExchangeWithAtomic合约的depositAsset函数进行存款,存入0.5个USDC代币为下面的攻击作准备;2.攻击者闪电贷出284.47万枚USDT代币,接着调用ExchangeWithAtomic合约的doSwapThroughOrionPool函数兑换代币,兑换路径是;3.因为兑换出来的结果是通过兑换后ExchangeWithAtomic合约里的USDT代币余额减去兑换前该合约里的USDT代币余额,但问题就在兑换USDC->ATK后,会调用ATK代币的转账函数,该函数由攻击恶意构造会通过攻击合约调用ExchangeWithAtomic合约的depositAsset函数来将闪电贷来的284.4万USDT代币存入ExchangeWithAtomic合约中。此时攻击合约在ExchangeWithAtomic合约里的存款被成功记账为284.47万枚并且ExchangeWithAtomic合约里的USDT代币余额为568.9万枚,使得攻击者兑换出的USDT代币的数量被计算为兑换后的568.9万减去兑换前的284.47万等于284.47万;4.之后兑换后的USDT代币最后会通过调用库函数creditUserAssets来更新攻击合约在ExchangeWithAtomic合约里的使用的账本,导致攻击合约最终在ExchangeWithAtomic合约里USDT代币的存款记账为568.9万枚;5.最后攻击者调用ExchangeWithAtomic合约里的withdraw函数将USDT提取出来,归还闪电贷后将剩余的283.6万枚USDT代币换成WETH获利。攻击者利用一样的手法在BSC链上的也发起了攻击,获利19.1万美元。

BNB Greenfield测试网将于5月25日进行重置升级:5月19日消息,BNB Greenfield 测试网将于 5 月 25 日 14 时至 18 时进行重置升级,新升级版本命名为湄公河测试网(Mekong Testnet)。新版本将提供 SG GC 服务、升级到 cosmos-sdk v0.47.2 以及清理陈旧权限等。[2023/5/19 15:14:24]

此前今日早些时候消息,OrionProtocol在攻击事件中损失约300万美元,官方暂停存款功能并正修复漏洞。

Coinbase:扩大钱包代币互换交易,已纳入BNB链和Avalanche区块链网络:金色财经报道,加密货币交易所Coinbase宣布扩大了钱包代币互换交易,已纳入BNB链和Avalanche区块链网络,将在未来几个月进一步扩大互换交易。[2022/5/24 3:37:14]

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:0ms0-3:450ms