Rikkei Finance事件分析
Rikkei Finance事件分析
![1.png](https://img.learnblockchain.cn/attachments/2022/10/Md4tUgnA635e4dcf06296.png)
# 2、攻击分析
交易:https://phalcon.blocksec.com/tx/bsc/0x93a9b022df260f1953420cd3e18789e7d1e095459e36fe2eb534918ed1687492
![2.png](https://img.learnblockchain.cn/attachments/2022/10/m9PXs8cG635e4e1844ee8.png)
# 3、获利分析
![3.png](https://img.learnblockchain.cn/attachments/2022/10/8KAViH5d635e4e36d4abf.png)
# 4、攻击过程分析
![4.png](https://img.learnblockchain.cn/attachments/2022/10/e3Vm0PJB635e4e51644bf.png)
1、 攻击合约先使用0.0001 BNB 在Rifi BNB中抵押出499553304430711102439309 rBNB代币;
2、 根据交易过程中的 JumpRateModel、AccrueInterest、mintAllowed 等合约或函数名称可看出,Rifi BNB 是一个类似Compound 的抵押贷款交易所;
3、 问题在于第3 步中,攻击合约调用了 SimplePriceOracle 合约的setOracleData 函数,这是用于设置价格预言机地址的函数,但是函数可见性却为external ;可被任何合约调用并设置任意值,意味着价格也可被任意设置;
![5.png](https://img.learnblockchain.cn/attachments/2022/10/8tZpHlFj635e4e6b7c068.png)
4、 可看到价格预言机被设置为 0xA36F6F78B2170a29359C74cEFcB8751E452116f9 ,反编译查看其代码,发现存在一个极大的数
![6.png](https://img.learnblockchain.cn/attachments/2022/10/DlesqGHj635e4e80619ae.png)
5、 分析SimplePriceOracle 合约的 getUnderlyingPrice 函数返回的值,可发现修改前其值为 416247538680000000000 ,修改预言机后为 416881147930000000000000000000000
![7.png](https://img.learnblockchain.cn/attachments/2022/10/5qWa6UG6635e4e9e3aea1.png)
# 5、漏洞复现
漏洞复现代码参考:https://github.com/SunWeb3Sec/DeFiHackLabs/blob/main/src/test/Rikkei_exp.sol
1、Rikkei Finance事件简介
https://rikkeifinance.medium.com/rikkei-finance-incident-investigation-report-b5b1745b0155
2、攻击分析
交易:https://phalcon.blocksec.com/tx/bsc/0x93a9b022df260f1953420cd3e18789e7d1e095459e36fe2eb534918ed1687492
3、获利分析
4、攻击过程分析
1、 攻击合约先使用0.0001 BNB 在Rifi BNB中抵押出499553304430711102439309 rBNB代币; 2、 根据交易过程中的 JumpRateModel、AccrueInterest、mintAllowed 等合约或函数名称可看出,Rifi BNB 是一个类似Compound 的抵押贷款交易所; 3、 问题在于第3 步中,攻击合约调用了 SimplePriceOracle 合约的setOracleData 函数,这是用于设置价格预言机地址的函数,但是函数可见性却为external ;可被任何合约调用并设置任意值,意味着价格也可被任意设置;
4、 可看到价格预言机被设置为 0xA36F6F78B2170a29359C74cEFcB8751E452116f9 ,反编译查看其代码,发现存在一个极大的数
5、 分析SimplePriceOracle 合约的 getUnderlyingPrice 函数返回的值,可发现修改前其值为 416247538680000000000 ,修改预言机后为 416881147930000000000000000000000
5、漏洞复现
漏洞复现代码参考:https://github.com/SunWeb3Sec/DeFiHackLabs/blob/main/src/test/Rikkei_exp.sol
本文参与区块链技术网 ,好文好收益,欢迎正在阅读的你也加入。
- 发表于 2022-10-30 18:17
- 阅读 ( 2743 )
- 学分 ( 3 )
- 分类:安全
评论