By:flush@慢雾安全团队
据慢雾区情报,MDEX的XSquid和HT代币池子中HT代币在没有进行swap的情况下被频繁抽取,慢雾安全团队对此介入分析,并将简要分析分享如下。
攻击核心
本次攻击的核心在于利用XSquid映射通缩型代币的模型,在转账后会发生通缩,自身合约所获取的balanceOf与通过Mdexpair池所获取到的reserve不匹配的问题,使得攻击者可以抽取池中的HT代币。
攻击细节
行情 | FUC近十五分钟内涨幅15.51%:据FUBT交易平台数据,FUC近十五分钟内涨幅15.51%,报收于1.28FBT,请注意控制风险。据介绍,FUC依托于FUBT全球生态,致力于构建行业产业发展及资源管理服务为一体的生态空间。FUC恒定发行总量1亿,流通时间始于2017年6月。非小号数据显示,FUBT平台仅2019年共回购销毁5100万FUC,销毁完成后FUC的流通总量缩减为4900万,占原有发行规模的49%。[2020/1/28]
由链上分析工具我们可以看到,这笔交易中Mdexpair池最终向攻击者转移了0.003枚WHT代币,而链上的交易记录显示还有很多笔这样的交易与之相同。
BTC五分钟内上涨1.07%:BTC五分钟内上涨1.07%,上涨金额为76美元,其中火币Pro上现价为$7236.09。[2018/5/28]
接下来我们仔细观察这笔交易的细节,这是一个XSquid和HT的MdexPair池,在对XSquid进行swap转账前pair合约通过getReserves接口所获取到池子中_reserve0为1010.505640800917497232。但在下一步通过XSquid合约的balanceOf获取pair余额后我们却发现结果为1010.5060773394782,数量上存在明显的差异。
BTC五分钟内下跌1.02%:BTC五分钟内下跌1.02%,下跌金额为87美元,其中火币Pro上现价为$8522.08。[2018/5/14]
但是在最后一次更新reserve之后并没有用户向合约中进行转账。于是我们就可以定位到,是在balancOf获取时造成的误差。于是我们开始查看XSquid合约,并定位到balanceOf函数合约的715行。通过函数的一步步跟踪balanceOf。
其中balanceOf调用了tokenFromReflection来获取。而tokenFromReflection函数中传入的是所映射的rAmount.div(currentRate)。currentRate又是由_getRate函数决定的。通过_getRate我们接着跟踪到?_getCurrentSupply函数。
根据一步步的定位我们发现,合约中代币的_tTotal总量是不会发生变化的,最终影响_getCurrentSupply输出结果的是由于_rTotal值的变化而造成的。从合约我们发现XSquid是映射通缩型代币,而在每一次转账时计算_rTotal都会由?_reflectFee产生通缩使得_rTotal值减少,而造成currentRate因此减少,而?rAmount.div(currentRate)增大,最终造成所获取到的balanceOf大于getReserves所获取到的值。
这样就造成了一种假象,使得池子认为外部又多打入了XSquid进来。这时攻击者只需要调用MdexPair合约的swap函数根据上诉计算的差额来抽取代币,或者是调用skim函数直接转走代币。由此,可从池子中抽离这一小部分“多余”而不属于他的HT。对此,我们可以在每次转账最后通过调用sync函数强制准备金与余额匹配同步更新,来避免以上不匹配的问题。
总结
此次抽池的核心问题在于“通缩映射型代币”与项目合约不兼容所导致的。而代币与DeFi项目合约代码不兼容所导致的安全问题已是重复出现的老问题了,慢雾安全团队再次提醒:由于DeFi项目需要多个合约间进行交互,在进行设计时项目方应充分考虑不同合约间交互的兼容性问题,并确保交易对与项?是相互兼容的。
对某些人来说,Web3就是元宇宙。而对于一些其他人来说,它是完全神秘的,就许多新手来说,它可能与所谓的加密系统有关系.
作者:北辰 链游作为DeFi后浪,在过去几个月里横冲直撞,引领Crypto市场继续高速发展。当下的头部链游增长已经开始趋缓,而新链游则看似纷繁却同质化严重,大有DeFi在各大公链刚开始火爆的时候.
撰文:Karen 在多链并存以及?DeFi、NFT?和GameFi繁荣的背景下,跨链兑换聚合器已成为整个加密货币市场中不可或缺的关键基础设施,而对于如何实现更高效便捷的跨链兑换探索却从未停止.
头条 ▌V神发布旨在解决“大区块链”中心化和信任问题的路线图12月6日,以太坊创始人V神发布文章《Endgame》.
撰文:Footprint分析师Sabrina(sabrina@footprint.network) 日期:2021年11月 什么是DAODAO.
近期,区块链行业发生的融资事件多数发生在GameFi领域,以10月30日至11月5日期间加密市场共发生27笔投融资事件为例,其中有14笔发生在GamFi领域.