Odaily星球日报讯 据慢雾安全团队监测,2022年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合约为对用户传入的数据进行严格检查,导致了任意外部调用的问题,攻击者利用此任意外部调用问题窃取了对合约仍有授权的用户的代币。
慢雾安全团队提醒使用过该合约的用户请迅速取消对该合约的授权以规避资产被盗的风险。