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 合約為對用戶傳入的數據進行嚴格檢查,導致了任意外部調用的問題,攻擊者利用此任意外部調用問題竊取了對合約仍有授權的用戶的代幣。
慢霧安全團隊提醒使用過該合約的用戶請迅速取消對該合約的授權以規避資產被盜的風險。