时间:2023-06-11|浏览:192
黑客的详细地址是0x75F2abA6a44580D7be2C4e42885D4a1917bFFD46。Hyperlab室依据区块链交易进行分析,本次攻击的主要原因是TransitSwap协议在进行代币交换时没有全面检查用户传输的信息,导致外部方可进行调用。
在使用TransitSwap进行交换时,用户会调用一个代理合约(0x8785bb8deae13783b24d7afe250d42ea7d7e9d72)。该代理合约将根据货币类型选择路径。然后路由器桥合约(0x0B47275E0Fe7D5054373778960c99FD24F59ff52)将调用管理权限合约(0xed1afc8c4604958c2f38a3408fa63b32e737c428)的claimtokens函数进行转账。而claimTokens函数将根据调用特定货币合约的transferFrom函数公式进行转账。它收到的主要参数来自顶层路由器桥合约,本来就没有对这些主要参数进行任何限定,只检查调用者是否为路由器代理合约或路由器桥合约。
网络攻击利用路由器代理合约、路由器桥合约和管理权限合约对传输信息进行安全检查不足。根据路由器代理合约传输的结构后数据信息,调用路由器桥合约的callBytes函数公式。该函数解析出网络攻击指定的交换合约与交换数据信息。在此时,交换合约被选定为管理权限合约的详细地址,交换数据信息被选定为调用claimTokens函数公式,将特定用户的货币转移到网络攻击指定地址。这样,网络攻击完成了对管理权限合约授权用户的全部货币的窃取。
Hyperlab室提醒,在跨合约的函数公式调用时,合约开发人员必须全面检查用户传输的信息,对其下层传输的参数进行恰当的校检。对TransitSwap用户来说,应停止使用TransitSwap,并提高自己对区块钱包安全防范意识,特别是对DEX的路由器授权管理权限要保持谨慎。
本文转载自驼鸟区块链。