NFT项目Akutars资金锁定事件简析

据慢雾区消息,Akutars(@AkuDreams) 项目拍卖合约由于多个代码缺陷导致 11,539.5 枚 ETH 永久无法取出。慢雾安全团队进行分析后以简讯的形式分享给大家。

1. Akutars 拍卖合约中存在 bid 与 processRefunds 功能,用户分别可以进行拍卖出价与退款操作。

2. 在拍卖结束后发起 processRefunds 退款操作时拍卖合约将遍历出价用户,并通过低级调用 call 为用户进行退款,但并未限制这一调用的 gasLimit。而未做此 gasLimit 限制的情况下,拍卖合约将使用发起者的全部 gas 进行外部调用。

Algorand启动欧洲加速器项目 首批已选定11个加密项目:2月2日消息,Algorand基金会宣布推出欧洲加速器项目,首批已选定11个加密项目。11家加密公司主要集中在支付和贷款、基础设施、网络解决方案和物联网等领域。加速器项目为期12周,从2月1日开始直到4月底结束。参与项目将获得1.5万欧元(18100美元)的种子资金。(Cointelegraph)[2021/2/3 18:44:20]

3. 但由于 Akutars 拍卖合约并不限制合约参与拍卖,因此“恶意用户”可以使用合约参与拍卖,并在其合约的接收以太函数中写入恶意消耗 gas 的逻辑,使得在进行退款流程时触发此用户合约,进而恶意消耗了调用发起者的全部 gas,直接导致后续退款无法正常进行。

市值前三平台币24小时涨跌数据:据金色财经数据显示,截至目前主流平台币种概况如下:

BNB现价19.34美元,24h下跌9.31%,24h成交额2.03亿美元;OKB现价4.94美元,24h下跌4.92%,24h成交额5932.27万美元;HT现价4.36美元,24h下跌2.84%,24h成交额9963.66万美元。[2020/9/6]

4. 幸运的是此“恶意用户”仅仅只是做了风险验证测试,最终解除了恶意消耗 gas 的逻辑使得退款可以继续顺利进行。当然用户也可以在拍卖结束的 3 天后进行紧急退款。

5. 在用户退款完成后项目方可以通过 claimProjectFunds 功能提取合约中的拍卖所得。但拍卖合约在用户进行 bid 时使用 totalBids 与 bidIndex 记录用户所拍的数量与出价次数,而用户是可以在一次出价中任意选择所拍的数量的,因此在拍卖结束 totalBids 实际上大于 bidIndex。当前 totalBids 为 5495,bidIndex 仅为 3669。

6. 但在 claimProjectFunds 函数中却要求 refundProgress 退款数必须大于等于 totalBids,项目方本意应是为了保证全部用户完成退款后才可进行取款。而实际上 refundProgress 是根据出价人总数进行计算的,也就是全部退款完成 refundProgress 也只是会等于 bidIndex。这就出现了 refundProgress 永远不会大于 totalBids 的情况。最终导致合约中 11,539.5 枚 ETH 永远无法取出。

综上,即使在用户无法退款问题被解决的情况下,由于出价人数与拍卖数量的计数不一致以及项目方取款函数的缺陷,最终都会导致 Akutars 资金被永久锁住的结果。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

Luna用程序员听得懂的方式介绍零知识证明

本来想写《用人话解释零知识证明》,但是发现做不到,因为至今我也没能用人话解释区块链原理,零知识证明比区块链原理更抽象,网上的资料90%以上是关于这个算法的推导,但是对于90%以上的程序员来说,我们并不关心哈希算法的原理,我们只关心哈希算法怎么用。

OKB加密空投是否真的不欢迎羊毛党?

假如你是一家公司的运营经理,公司决定拿出 50 万做运营,你可能要开 5 次会,50 个电话,忙活 500 个小时,才能做得漂漂亮亮。 但是在 Crypto 世界,项目决定拿出 1/4 甚至 1/5 的「股权」,价值动辄千万美金,甚至数亿美金,但是其中的很多决定似乎就是拍脑袋定的。 老实说,对待如此大的决定,很多项目确实有些随意和任性。

火币网下载官方app中国NFT维权第一案背后的制胜法宝原来是它

4月20日,全国首例NFT维权案件在杭州互联网法院正式宣判。 这一判决紧随“三协会倡议”之后,具有里程碑式意义。本案原告律师浙江垦丁律师事务所主任张延来坦言,“本案值得关注的亮点是采取了以飞洛印为代表的区块链电子存证工具作为取证手段,并且得到了法院的认可。

[0:15ms0-8:881ms