#1总述 攻击者利用TreasureMarketplaceBuyer合约的逻辑漏洞,通过buyItem函数的_quantity参数能够置零的漏洞,将totalPrice置零从而无代价获取ERC-721代币。攻击者的交易发起地址是Arbitrum的0x9b1acd4336ebf7656f49224d14a892566fd48e68,被攻击的合约是Arbitrum的0x812cda2181ed7c45a35a691e0c85e231d218e273。攻击交易是Arbitrum的0x57dc8e6a28efa28ac4a3ef50105b73f45d56615d4a6c142463b6372741db2a2b。攻击者通过TreasureMarketplaceBuyer合约的buyItem函数传入了数值为0的_quantity参数,在Arbitrum上无偿购买了TokenID为5490的ERC-721代币。
交易详情 从代码上来看,TreasureMarketplaceBuyer合约的buyItem函数在传入_quantity参数后,并没有做代币类型判断,直接将_quantity与_pricePerItem相乘计算出了totalPrice。因此,safeTransferFrom函数可以在ERC-20代币支付数额只有0的情况下,调用TreasureMarketplace合约的buyItem函数进行代币购买。然而,在调用TreasureMarketplace合约的buyItem函数时,函数只对购买代币类型进行了判断,并没有对代币数量进行非0判断。这导致ERC-721类型的代币在无视_quantity数值的情况下直接购买,从而实现了漏洞攻击。
涉及的代币资产: #2总结建议 本次安全事件主要原因是ERC-1155代币和ERC-721代币混用导致的逻辑混乱。ERC-721代币并没有数量的概念,但是合约却使用了数量来计算代币购买价格。最后,在代币转账时也没有进行分类讨论。建议开发者在开发多种代币的销售贩卖合约时,需要根据不同代币的特性来进行不同情况的业务逻辑设计。
本公司董事会及全体董事保证本公告内容不存在任何虚假记载、误导性陈述或者重大遗漏,并对其内容的真实性、准确性和完整性承担法律责任。公司将使用不超过人民币5,000万元的部分闲置募集资金临时补充流动资金,使用期限自公司董事会...
自 2022 年 6 月底,NFT 市场进入熊市,但 Blur 于 2022 年底推出 Airdrop 激励机制之后,NFT 市场的交易量有所改善(图一)。在 Blur 的空投活动期间,可以看到其对于整个 NFT 市场交...
未来比特币减半后牛市开启,在未来牛市的背景下,我们应该如何布局!所谓的布局,一定是长期,价值投资,意志坚定,分批多次定投,定投雷打不动,不畏浮云遮望眼!未来既然知道牛市会来,我们何不把时间线拉长一点,既然牛市会来,我们所...
据 BlockBeats 报道,9 月 12 日,lookonchain 的监测数据显示,加密货币 ETF 出现了明显的波动。比特币 ETF 昨日净流入 4432 万美元,表明投资者的兴趣浓厚。相比之下,以太坊 ETF ...