📢 Gate广场 #MBG任务挑战# 发帖赢大奖活动火热开启!
想要瓜分1,000枚MBG?现在就来参与,展示你的洞察与实操,成为MBG推广达人!
💰️ 本期将评选出20位优质发帖用户,每人可轻松获得50枚MBG!
如何参与:
1️⃣ 调研MBG项目
对MBG的基本面、社区治理、发展目标、代币经济模型等方面进行研究,分享你对项目的深度研究。
2️⃣ 参与并分享真实体验
参与MBG相关活动(包括CandyDrop、Launchpool或现货交易),并晒出你的参与截图、收益图或实用教程。可以是收益展示、简明易懂的新手攻略、小窍门,也可以是现货行情点位分析,内容详实优先。
3️⃣ 鼓励带新互动
如果你的帖子吸引到他人参与活动,或者有好友评论“已参与/已交易”,将大幅提升你的获奖概率!
MBG热门活动(帖文需附下列活动链接):
Gate第287期Launchpool:MBG — 质押ETH、MBG即可免费瓜分112,500 MBG,每小时领取奖励!参与攻略见公告:https://www.gate.com/announcements/article/46230
Gate CandyDrop第55期:CandyDrop x MBG — 通过首次交易、交易MBG、邀请好友注册交易即可分187,500 MBG!参与攻略见公告:https://www.gate.com/announcements
Poolz项目遭算术溢出攻击 损失66.5万美元加密资产
Poolz项目因算术溢出漏洞遭受攻击,损失约66.5万美元
近日,一起针对Poolz项目的攻击事件引起了加密货币社区的广泛关注。根据链上监控数据显示,攻击发生于2023年3月15日,涉及Ethereum、BNB Chain和Polygon三个网络。攻击者利用智能合约中的算术溢出漏洞,成功窃取了大量代币,总价值约为66.5万美元。
攻击细节
攻击者通过以下步骤实施了这次攻击:
首先在去中心化交易所兑换了一定数量的MNZ代币。
随后调用了Poolz合约中的CreateMassPools函数。这个函数本应允许用户批量创建流动性池并提供初始流动性,但其中存在严重漏洞。
问题出现在getArraySum函数中。该函数用于计算用户提供的初始流动性数量,但未能正确处理整数溢出情况。
攻击者巧妙地构造了输入参数,使得_StartAmount数组中包含了超过uint256最大值的数字。这导致累加结果溢出,最终返回值为1。
由于合约在记录池子属性时使用了_StartAmount的原始值,而非实际转入的代币数量,攻击者只需转入1个代币就能创建一个流动性远高于实际的池子。
最后,攻击者通过调用withdraw函数提取了大量未经授权的代币,完成了整个攻击过程。
被盗资产
此次攻击导致多种代币遭受损失,包括但不限于:
攻击者已将部分被盗代币兑换为BNB,但截至报告时,这些资金尚未被转移出攻击者的地址。
防范建议
为防止类似的算术溢出漏洞,专家建议采取以下措施:
使用较新版本的Solidity编译器,这些版本会在编译过程中自动进行溢出检查。
对于使用较旧版本Solidity的项目,建议引入OpenZeppelin的SafeMath库来处理整数运算,从而避免溢出问题。
进行全面的代码审计,特别关注涉及大数运算的部分。
实施严格的输入验证,确保用户提供的参数在合理范围内。
考虑在关键操作中添加多重签名或时间锁等安全机制。
这起事件再次凸显了智能合约安全的重要性,提醒开发者和项目方需要始终保持警惕,不断完善代码安全性。同时,也提醒用户在与去中心化金融项目交互时要格外小心,尤其是在参与新上线或未经充分审计的项目时。