OPtimism链的Quixotic项目遭受黑客事件分析
2022年7月1日, 成都链安链必应-区块链安全态势感知平台 舆情监测显示,OPtimism链的Quixotic项目遭受黑客攻击,黑客获利847个BNB。成都链安安全团队对事件进行了分析,结果如下。
事件相关信息
据悉,Quixotic 是一个可以使用ERC20代币和NFT进行买卖的平台,本次攻击事件发生后,平台目前所有市场活动都已暂停。
•攻击者地址
攻击者:
0x0A0805082EA0fc8bfdCc6218a986efda6704eFE5
攻击者合约:
0xbe81eabdbd437cba43e4c1c330c63022772c2520
•攻击交易
0xcdfb8b3cbe85452192196713f371e3afdeb908c3198f0eec334beff9462ab5df
0x1b0fd785391f804a373575ace3e81a28f4a35ade934c15b5dc62ddfbbde659b4
•被攻击合约:
0x065e8A87b8F11aED6fAcf9447aBe5E8C5D7502b6
#攻击过程
1. 攻击者先创建NFT攻击合约,如图所示。
2. 因为用户将ERC20代币过度授权给了ExchangeV4(被攻击合约),并且ExchangeV4合约存在漏洞。导致攻击者利用ExchangeV4合约的fillSellOrder函数进行NFT订单创建通过向用户出售攻击合约中的NFT来转移用户向ExchangeV4合约授权的代币。
3.攻击完成后,攻击者将所盗资产转移至Tornado.Cash。
漏洞分析
本次攻击主要利用了在ExchangeV4合约中创建的NFT订单地址可以被指定,并且在交易中只验证了卖方签名就进行转账,导致用户在有向ExchangeV4进行ERC20代币授权的情况下,攻击者可以创建自己的NFT单方面进行交易,将虚假的NFT转移给用户换出用户向ExchangeV4合约授权的代币。
在fillSellOrder函数中,攻击者可以指定出售的NFT地址,并且在验证中只验证了攻击者的签名,而未验证买方的签名。那么攻击者可以通过验证,并在调用_fillSellOrder函数时,将攻击合约的NFT转移给买方,并执行_sendERC20PaymentsWithRoyalties函数转移买方向合约授权的ERC20代币
资金追踪
截止发文时,攻击者获利约847个BNB,当前攻击者已将所盗资金向Tornado.Cash转移。
总结
针对本次事件,成都链安安全团队建议:
1.在实现签名交易的功能时,需要验证买卖双方的签名。
2.用户需要避免过度授权保证财产安全。
3.项目上线前,建议选择专业的安全审计公司进行全面的安全审计,以规避安全风险。
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
Bitcoin Price Consolidates Below Resistance, Are Dips Still Supported?
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
XRP, Solana, Cardano, Shiba Inu Making Up for Lost Time as Big Whale Transaction Spikes Pop Up
Justin Sun suspected to have purchased $160m in Ethereum
Justin Sun suspected to have purchased $160m in Ethereum