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

USD:bHOME重入攻击事件分析-ODAILY

作者:

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

1、前言

北京时间3月5日,知道创宇区块链安全实验室监测到BaconProtocol遭受黑客攻击损失约958,166美元,本次攻击利用重入漏洞,并凭借闪电贷扩大收益额。目前攻击者地址还没有被加入USDC的黑名单中。

2、分析

攻击事件如下图所示,该次攻击事件的问题点在于lend()函数,攻击者利用该函数进行重入攻击。

2.1基础信息

攻击合约:0x580cac65c2620d194371ef29eb887a7d8dcc91bf

攻击者地址:0x7c42f2a7d9ad01294ecef9be1e38272c84607593

攻击tx:0x7d2296bcb936aa5e2397ddf8ccba59f54a178c3901666b49291d880369dbcf31

孙宇晨:本周就将发布一款中国的clubhouse:孙宇晨表示:“Clubhouse是社交领域下个十年的灵魂新革命,我们本周就将发布一款中国的clubhouse, all in social media。”[2021/2/1 18:36:35]

漏洞合约:0x781ad73f140815763d9A4D4752DAf9203361D07D

2.2流程

1.攻击者通过UniswapV2闪电贷借出6,360,000USDC。

2.用闪电贷借出的6,360,000USDC分成3份,去bHOME中进行2次重入攻击调用了3次lend()函数铸造共8,465,943.180104bHOME。

BHD Community活动总监刘友建:做共识机制的龙头币:据悉,2020年8月1日,由LBank、金色财经联合承办的“LBank和他的朋友们-2020百城计划”在郑州举行。BHD Community活动总监刘友建就“BHD 如何在 POC 领域引领新潮流”话题进行精彩分享:BHD是POC共识机制的龙头币,对于POC存在的意义我们知道是解决了比特币算力中心化、矿机中心化和耗能巨大的现实问题,接下去三年内必将是区块链行业内的趋势。[2020/8/1]

3.将刚才重入获得的bHOME拿去销毁赎回获得7,336,924.998USDC。

4、归还闪电贷借出的6,360,000USDC,并支付19,716的手续费,最后将剩余的957,208.998USDC转入自己的账户。

BHEX交易所BTC永续合约24小时行情播报:截至今日上午10:00,据BHEX交易所永续合约行情:BTC币本位合约报价8648.0美元,预测资金费率为0.0184%(多头付空头);BTCUSDT合约报价8648.1美元,预测资金费率为0.0222%(多头付空头)。

过去24小时BTC合约多空持仓人数比为2.34, BTC币本位合约交易总量7415万张,BTCUSDT合约交易总量6411万张。BTC永续合约主动买入量为3512万张,主动卖出量为3114万张。[2020/3/1]

2.3细节

该次攻击事件重点在于lend()函数,由于合约https://etherscan.io/address/0x781ad73f140815763d9a4d4752daf9203361d07d#code并未验证开源,所以我们只能从交易的Debugger中寻找线索。

1、攻击者通过UniswapV2闪电贷借出6,360,000USDC。

动态 | BHEX合约交易量及交易人数较前高增幅40%:据BHEX官方数据,截止今日12:00,其永续合约交易人数和交易量纷纷创出2020年新高,较前高增幅40%。据悉BHEX永续合约上线3个月,无宕机、无卡顿。在交易深度,如盘口低价差,高挂单量以及API的稳定性等方面,也赢得业内专业人士和广大用户的认可。此外为回馈广大合约用户的支持,BHEX即将推出合约体验金计划。BHEX将于3月1日20:00启动永续合约实盘大赛,详情请点击阅读原文。[2020/2/26]

2、用闪电贷借出的6,360,000USDC分成3份,去bHOME中进行重入攻击2次调用lend()函数铸造共8,465,943.180104bHOME。

3、将刚才重入获得的bHOME拿去销毁赎回获得7,336,924.998USDC。

声音 | 比特币庞氏大头目Amit Bhardwaj:愿意偿还最初的投资给受害者:7月19日消息,比特币庞氏大头目Amit Bhardwaj提出,愿意向那些因他的局而蒙受损失的人偿还最初的印度卢比投资。然而受害者想要的是他们加密货币的当前价值,而不是最初的投资。印度最大的加密交易所之一Zebpay也被要求协助调查 。[2018/7/19]

4、归还闪电贷借出的6,360,000USDC,并支付19,716的手续费,最后将剩余的957,208.998USDC转入自己的账户。

2.3细节

该次攻击事件重点在于lend()函数,由于合约https://etherscan.io/address/0x781ad73f140815763d9a4d4752daf9203361d07d#code并未验证开源,所以我们只能从交易的Debugger中寻找线索。

分析Debugger可以看到下图是第一次调用函数,接着进行了2次重入。

从重入攻击中可以找到INPUT中调用函数的字节码为0xa6aa57ce。

通过字节签名可以知道重入攻击调用的是lend()函数。

从Debugger中我们可以发现攻击合约的地址0x781ad73f140815763d9a4d4752daf9203361d07d。

通过反编译合约0x781ad73f140815763d9a4d4752daf9203361d07d得到合约伪代码内容,可以找到lend()函数。

我们在反编译的代码中可以看到该合约使用的ERC777协议,会查询recipient的回调合约并回调tokensReceived()函数用以重入攻击。

通过分析可以发现_index就是传入的USDC数量。

totalSupply和balanceOf的增量都和_index是正比关系,和stor104是反比关系,并且这两个变量的更新发生在重入攻击之前,每次都会更新。

stor104记录的是用户存入的USDC总量,该变量的更新发生在重入之后,那么在重入的过程中stor104的值是不变的,而上面的totalSupply是在变大,所以最后return的值也会相应的增大,从而使得攻击者通过重入攻击铸造得到比正常逻辑更多的bHOME代币。

除了该次攻击事件,BlockSecTeam还阻断了后面发生的攻击并将金额返还给了项目方。

交易hash:0xf3bd801f5a75ec8177af654374f2901b5ad928abcc0a99432fb5a20981e7bbd1

3、总结

此次攻击事件是由于项目方使用了ERC777协议但没有对回调合约的安全性进行考虑从而导致了重入攻击的发生,当项目合约有涉及资产的转移时,建议使用「检查-生效-交互」模式来保证逻辑代码的安全,当然我们也可以使用OpenZeppelin官方提供的ReentrancyGuard修饰器来防止重入攻击的发生。

标签:USDUSDCSDCBHOusdc币价格1usdc币是多少人民币usdc币最新消息bhoex

BNB热门资讯
BTC:顶峰课堂:RSI-ODAILY

RSI是什么?RSI是RelativeStrengthIndex的缩写,中文常译作相对强弱指数,是应用最为广泛之一的一种技术分析指标.

1900/1/1 0:00:00
NFT:顶峰课堂:MA-ODAILY

MA是什么?MA英文全称为MovingAverage,中文译作移动平均线,也简称均线,是由美国投资专家JosephE.Granville于20世纪中期创建的技术分析指标.

1900/1/1 0:00:00
USD:算稳市场破局者?波场算稳USDD正式上线 ,加速市场进入金融自由时代-ODAILY

继TRC-20USDT突破400亿,占USDT总发行量半壁江山之后,波场宣布进军去中心化算法稳定币市场.

1900/1/1 0:00:00
STA:Staking经济大受关注,波卡生态会激起怎样的浪花? -ODAILY

Polkadot生态研究院出品,必属精品背景2022年3月4日,a16z加码去中心化Staking解决方案LidoFinance,投资7000万美元.

1900/1/1 0:00:00
CRYPTO:Crypto Finance宣布对机构客户提供TRX存储、托管、交易服务-ODAILY

据最新消息,CryptoFinance宣布对机构客户提供TRX存储、托管、交易服务。即日起,CryptoFinance用户可安全地交易和存储波场生态代币TRX.

1900/1/1 0:00:00
NFT:牢记这五点,让你无须担心加密寒冬-ODAILY

1、Qredo诞生于熊市首先要注意的是,Qredo并不是在牛市泡沫中一夜之间冒出来的。早在2018年,Brian、Anthony和其他联合创始人就开始将去中心化托管的想法整合在一起——给了当时的.

1900/1/1 0:00:00