慢雾发布TronBank“假币攻击”分析:合约在系统函数中没能判断假币转入,误以为是真BTT

TRC10是TRON区块链本身支持的技术代币标准,没有TRON虚拟机(TVM)。TRC10&TRC20详细比较:https://developers.tron.network/docs/trc10-t

TRC10 是 TRON 区块链本身支持的技术代币标准,没有 TRON 虚拟机(TVM)。TRC10 & TRC20 详细比较:https://developers.tron.network/docs/trc10-token#section-trc10-trc20-comparison (可以在点击「查看原文」访问链接) TRC10 提供了 2 个新参数:tokenValue、tokenId,msg.tokenvalue 表示当前 msg 调用中的标记值,默认值为 0。 msg.tokenid 表示当前 msg 调用中的标记 id,默认值为 0。tokenId 也是 Odyssey_v3.2 中的新功能。它可以在帐户中名为 assetV2 的新地图字段中找到。 使用 GetAccount(Account)获取 tokenId 及其值。 TokenId 由系统从数字 1_000_001 开始设置。 创建新的 TRC10 代币时,数字加 1 并设置此代币的 ID。官方文档:https://developers.tron.network/docs/trc10-transfer-in-smart-contracts TronBank 合约在 invest 函数内没有判断 msg.tokenid 导致任意的代币(假币)转入,合约都以为是真币 BTT。然后攻击者再调用 withdraw 从合约中提取真币 BTT。

生成图片
6

发表评论

慢雾发布TronBank“假币攻击”分析:合约在系统函数中没能判断假币转入,误以为是真BTT

星期四 2019-04-11 13:24:53

TRC10 是 TRON 区块链本身支持的技术代币标准,没有 TRON 虚拟机(TVM)。TRC10 & TRC20 详细比较:https://developers.tron.network/docs/trc10-token#section-trc10-trc20-comparison (可以在点击「查看原文」访问链接) TRC10 提供了 2 个新参数:tokenValue、tokenId,msg.tokenvalue 表示当前 msg 调用中的标记值,默认值为 0。 msg.tokenid 表示当前 msg 调用中的标记 id,默认值为 0。tokenId 也是 Odyssey_v3.2 中的新功能。它可以在帐户中名为 assetV2 的新地图字段中找到。 使用 GetAccount(Account)获取 tokenId 及其值。 TokenId 由系统从数字 1_000_001 开始设置。 创建新的 TRC10 代币时,数字加 1 并设置此代币的 ID。官方文档:https://developers.tron.network/docs/trc10-transfer-in-smart-contracts TronBank 合约在 invest 函数内没有判断 msg.tokenid 导致任意的代币(假币)转入,合约都以为是真币 BTT。然后攻击者再调用 withdraw 从合约中提取真币 BTT。