# Poolz遭受算术溢出攻击,损失约66.5万美元近日,多个区块链网络上的Poolz项目遭受攻击,导致大量代币被盗,总价值约66.5万美元。这次攻击发生在2023年3月15日,影响了以太坊、BNB链和Polygon等多个网络上的Poolz合约。攻击者利用了Poolz智能合约中的一个算术溢出漏洞。具体来说,问题出在CreateMassPools函数中的getArraySum函数。该函数在计算池子初始流动性时,由于整数溢出,导致攻击者只需转入极少量代币就能创建大量流动性的假象。攻击过程如下:1. 攻击者首先在某DEX上兑换了少量MNZ代币。2. 随后调用了有漏洞的CreateMassPools函数。该函数允许用户批量创建流动性池并提供初始流动性。3. 在计算初始流动性金额时,getArraySum函数出现整数溢出。攻击者传入的数组之和超过了uint256能表示的最大值,导致函数返回值变为1。4. 然而,合约在记录池子属性时仍使用了原始的_StartAmount数组值。这造成了攻击者实际只转入1个代币,却被记录为拥有巨额流动性的情况。5. 最后,攻击者调用withdraw函数提取资金,完成了攻击。此次事件暴露了智能合约中算术溢出的危险性。为防止类似问题,开发者应考虑使用较新版本的Solidity编译器,它们会自动进行溢出检查。对于使用较旧版本Solidity的项目,可以采用OpenZeppelin的SafeMath库来处理整数运算,以避免溢出风险。这次攻击再次强调了在开发和审计智能合约时,需要特别注意算术操作的安全性。同时,项目方也应定期进行安全审计,及时发现并修复潜在的漏洞,以保护用户资产的安全。
Poolz遭算术溢出攻击 损失66.5万美元 多链项目受影响
Poolz遭受算术溢出攻击,损失约66.5万美元
近日,多个区块链网络上的Poolz项目遭受攻击,导致大量代币被盗,总价值约66.5万美元。这次攻击发生在2023年3月15日,影响了以太坊、BNB链和Polygon等多个网络上的Poolz合约。
攻击者利用了Poolz智能合约中的一个算术溢出漏洞。具体来说,问题出在CreateMassPools函数中的getArraySum函数。该函数在计算池子初始流动性时,由于整数溢出,导致攻击者只需转入极少量代币就能创建大量流动性的假象。
攻击过程如下:
攻击者首先在某DEX上兑换了少量MNZ代币。
随后调用了有漏洞的CreateMassPools函数。该函数允许用户批量创建流动性池并提供初始流动性。
在计算初始流动性金额时,getArraySum函数出现整数溢出。攻击者传入的数组之和超过了uint256能表示的最大值,导致函数返回值变为1。
然而,合约在记录池子属性时仍使用了原始的_StartAmount数组值。这造成了攻击者实际只转入1个代币,却被记录为拥有巨额流动性的情况。
最后,攻击者调用withdraw函数提取资金,完成了攻击。
此次事件暴露了智能合约中算术溢出的危险性。为防止类似问题,开发者应考虑使用较新版本的Solidity编译器,它们会自动进行溢出检查。对于使用较旧版本Solidity的项目,可以采用OpenZeppelin的SafeMath库来处理整数运算,以避免溢出风险。
这次攻击再次强调了在开发和审计智能合约时,需要特别注意算术操作的安全性。同时,项目方也应定期进行安全审计,及时发现并修复潜在的漏洞,以保护用户资产的安全。