月亮链 月亮链
Ctrl+D收藏月亮链

SUR:XSURGE 攻击事件的全面梳理_比特币

作者:

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

前言

8月17日,BSC链上的XSURGE协议遭到闪电贷攻击,损失超过500万美元。对此,知道创宇区块链安全实验室对攻击流程和代码细节进行了全盘梳理。

全盘梳理

基础信息

-攻击tx:0x7e2a6ec08464e8e0118368cb933dc64ed9ce36445ecf9c49cacb970ea78531d2-攻击合约:

0x1514AAA4dCF56c4Aa90da6a4ed19118E6800dc46

FXStreet分析师:比特币投资流入飙升,预计本周将推出另一比特币ETF:10月19日消息,FXStreet分析师Sarah Tran表示,比特币投资流入飙升,预计本周将推出另一比特币ETF,首只比特币ETF将于10月19日在纽约证交所开始交易。彭博分析师Balchunas预测另一个合约Valkyrie比特币ETF可能会在本周晚些时候推出,该ETF上周已在纳斯达克交易所获得上市认证。首只比特币ETF的批准导致加密货币市场看涨情绪的上升,数字资产投资产品上周流入8000万美元。CoinShares报告称,美国证交会最近批准比特币ETF的决定可能会在未来几周进一步推动大量资金流入,因为美国投资者开始增加头寸。(金十)[2021/10/19 20:39:25]

-SurgeToken:

声音 | Fxstreet分析师:短期技术修正可能让BTC回到8300美元:据Fxstreet分析师Tanya Abrosimova的观点,当前强烈的看涨情绪主导了市场,但BTC也很容易出现短期看跌修正,如果出现修正,前高点8300美元将作为支撑,随后是8150美元。不过随着反弹的继续,BTC的下一个看涨目标为9500美元和9800美元。[2019/5/27]

0xE1E1Aa58983F6b8eE8E4eCD206ceA6578F036c21

攻击流程

公告 | 币安完成4月份GAS、ONG、VTHO和NPXS的发放:据币安公告,币安已完成2019年4月份GAS、ONG、VTHO、NPXS的发放。[2019/5/5]

这里有个小细节,代币转移流程中的顺序是按照事件先后顺序来显示的,而重入之后的买操作引起的事件会在卖操作引起的事件之前,所以在流程中看到的每一个单独的重入攻击中是SURGE的买入发生在卖出之前。

漏洞原理

漏洞点在于SurgeToken合约中的sell()函数,其中对调用者msg.sender的BNB转账采用的call()函数,并且在转账之后才更新代币总量_totalSupply,是典型的重入漏洞场景。

虽然sell()函数使用了nonReentrant修饰防止了重入,但purchase()函数并没有。重入转回BNB给合约,触发fallback函数调用purchase(),由于_totalSupply尚未减去卖出量,而导致可买入相较正常更多的SURGE代币。

复现

价格分析

sell()函数卖出过程中,输入tokenAmount与输出amountBNB的关系:

purchase()函数买入过程中,输入bnbAmount与输出tokensToSend的关系:

在重入过程中,sell()函数卖出后获得的BNB通过重入打回SurgeToken合约传入purchase()函数故令sell()函数的输出amountBNB与purchase()函数的输入bnbAmount相等,可得到整个利用流程中输入与输出的关系:

若要实现套利,需要输出大于输入,则有:

最后得到:

也就是说重入套利过程中调用sell()卖出的代币量必须在代币总量的12.383%以上

模拟演示

为方便调试,将SurgeToken合约中的mint()函数可见性改为public,并为构造函数增加payable修饰,在部署时传入10^15wei。

SurgeToken合约初始化的代币总量为10^9,根据前面推导出的结论,为攻击合约铸币200000000,则攻击合约拥有大约SURGE代币总量16%的代币。

攻击合约调用Attack()函数攻击,查看攻击合约的代币余额已变为209549307,获利9549307。

总结

XSURGE协议被攻击的本质原因在于sell()函数中存在重入漏洞,导致可通过purchase函数买入较多的SURGE代币而获利。

简而言之,典型的重入漏洞场景,教科书级的案例。

标签:SURSURGEURG比特币NSUR价格SURGE价格burger币发展前景比特币行情走势k线图怎么看

pepe最新价格热门资讯
ANY:ANY(Anyswap)_ManySwap

專案簡介:Anyswap是基於FusionDCRM技術的完全去中心化的跨鏈交換協議,具有自動定價和流動性系統.

1900/1/1 0:00:00
BIT:BitMart上线SAITAMA (SAITAMA)_TMA

亲爱的BitMart用户:BitMart将于2021年10月18日上线代币SAITAMA(SAITAMA)。届时将开通SAITAMA/USDT交易对.

1900/1/1 0:00:00
EOS:ZT創新板即將上線 ARV_HTT

親愛的ZT用戶:ZT創新板即將上線ARV,並開啟ARV/USDT交易對。具體上線時間如下:充值:已開啟;交易:2021年10月9日17:00;ARV項目簡介:Ariva是由ArivaCo.推出的.

1900/1/1 0:00:00
元宇宙:元宇宙概念火爆的背后,未来布局着什么样的商业版图?_FACE币

元宇宙正在扩大。一个充满互动体验的沉浸式世界正在我们面前打开,而且由于新兴的PlaytoEarn模式和NFT,经济机会已经出现。投资者正越来越多地向有可能带来可观回报的颠覆性元宇宙初创公司投资.

1900/1/1 0:00:00
FIL:ZBG关于GST恢复充提币的公告_ECO

公告编号2021100801各位关心ZBG的投资者们和项目方:ZBG平台现已恢复GST的充提币.

1900/1/1 0:00:00
DEFI:NFT 市场繁荣背景下,DeFi 生态系统快速扩张_Farm Defi

文:ANIRUDHTIWARI编译:Zion??????责编:karen随着九月的结束,加密货币市场从所谓的“九月魔咒”中恢复过来,市值达到2.32万亿美元.

1900/1/1 0:00:00