📢 Gate广场 #NERO发帖挑战# 秀观点赢大奖活动火热开启!
Gate NERO生态周来袭!发帖秀出NERO项目洞察和活动实用攻略,瓜分30,000NERO!
💰️ 15位优质发帖用户 * 2,000枚NERO每人
如何参与:
1️⃣ 调研NERO项目
对NERO的基本面、社区治理、发展目标、代币经济模型等方面进行研究,分享你对项目的深度研究。
2️⃣ 参与并分享真实体验
参与NERO生态周相关活动,并晒出你的参与截图、收益图或实用教程。可以是收益展示、简明易懂的新手攻略、小窍门,也可以是行情点位分析,内容详实优先。
3️⃣ 鼓励带新互动
如果你的帖子吸引到他人参与活动,或者有好友评论“已参与/已交易”,将大幅提升你的获奖概率!
NERO热门活动(帖文需附以下活动链接):
NERO Chain (NERO) 生态周:Gate 已上线 NERO 现货交易,为回馈平台用户,HODLer Airdrop、Launchpool、CandyDrop、余币宝已上线 NERO,邀您体验。参与攻略见公告:https://www.gate.com/announcements/article/46284
高质量帖子Tips:
教程越详细、图片越直观、互动量越高,获奖几率越大!
市场见解独到、真实参与经历、有带新互动者,评选将优先考虑。
帖子需原创,字数不少于250字,且需获得至少3条有效互动
Poolz遭算术溢出攻击 损失66.5万美元 多链资产受影响
Poolz遭遇算数溢出攻击,损失约66.5万美元
近日,一起针对Poolz的攻击事件在以太坊、币安智能链和Polygon网络上发生。根据链上数据监控,攻击发生于2023年3月15日凌晨3点16分(UTC时间)。此次攻击涉及多种代币,包括MEE、ESNC、DON、ASW、KMON、POOLZ等,总计损失约66.5万美元。
攻击者利用了Poolz智能合约中的一个算数溢出漏洞。具体来说,问题出在CreateMassPools函数中的getArraySum函数。该函数在计算用户批量创建池子时提供的初始流动性时,未能正确处理大数相加导致的溢出情况。
攻击过程如下:
攻击者首先在某去中心化交易所兑换了少量MNZ代币。
随后调用CreateMassPools函数,传入精心构造的参数。其中_StartAmount数组包含两个值:一个接近uint256上限的大数,以及一个正常的代币数量。
由于getArraySum函数中的累加操作导致溢出,最终返回值为1。然而,合约在记录池子属性时仍使用了原始的_StartAmount值。
这导致攻击者实际只转入1个代币,却在合约中记录了一个巨大的流动性数量。
最后,攻击者调用withdraw函数提取代币,完成攻击。
为防止此类问题再次发生,建议开发者采取以下措施:
使用较新版本的Solidity编译器,这些版本会自动进行溢出检查。
如果必须使用旧版Solidity,可以引入第三方安全库来处理整数运算,如OpenZeppelin的SafeMath库。
在处理用户输入时,特别是涉及大数运算的场景,应该进行严格的边界检查和异常处理。
定期进行代码审计,特别关注可能涉及整数溢出的部分。
考虑引入多重签名或时间锁等机制,为紧急情况下的响应争取时间。
这起事件再次提醒我们,在智能合约开发中,安全性应始终是首要考虑因素。即使是看似简单的算术操作,也可能成为攻击者利用的突破口。