PANews 11月10日消息,据慢雾安全团队监测,ETH 链上的 brahTOPG 项目遭到攻击,攻击者获利约 89,879 美元。慢雾安全团队以简讯形式分享如下:

1. 攻击者首先查询了受害用户 0x392472 的余额,接着调用了 Zapper 合约的 zapIn 函数。

2. 首先函数会为合约转账 requiredToken 参数所指定的代币,由于该函数传入的参数是外部可控的,所以攻击者恶意构造了该参数使得 requiredToken 为假代币(即攻击合约本身)并将假代币转给 Zapper 合约。

3. 接着会调用内部函数 zap,在该函数中首先会检查合约中假代币的余额是否大于或等于传入的值,由于第二步的操作所以通过了该检查。

4. 之后会外部调用假代币合约的 approve 函数,该函数为攻击者恶意构造,是为了给 Zapper 合约转账 frax 代币,此操作是为了通过后续合约中对 frax 代币余额的检查并且能成功给金库存款。

5. 最后外部调用了 swapTarget 参数所指定的合约(该参数为外部可操控),并且调用所传入参数也是外部可构造的,所以攻击者利用此处任意外部调用漏洞转走了其他有授权的用户的 USDC 代币。

6. 攻击者重复以上步骤,总共攻击了三次,转移了三个受害者账户下的 USDC 代币约 889,343 枚。

此次攻击的主要原因在于 Zapper 合约为对用户传入的数据进行严格检查,导致了任意外部调用的问题,攻击者利用此任意外部调用问题窃取了对合约仍有授权的用户的代币。

慢雾安全团队提醒使用过该合约的用户请迅速取消对该合约的授权以规避资产被盗的风险。