V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
renfei
V2EX  ›  以太坊

以太坊可以随便声明我向外转出 Token?不需要我的同意和授权?

  •  
  •   renfei · 2 天前 · 1063 次点击

    刚刚发生了两笔交易,不是我操作的,所以我有点懵,问问有经验的大佬怎么回事

    两笔交易

    涉及到的 Token

    https://etherscan.io/token/0x96a4a852002fda2478b9dde6ba83485bd4efdac4

    我的困惑

    • 交易签名不是我,不是我操作的
    • 但交易里说我给不认识的地址转了 10 个这个 Token
    • 我账户里能查到我有 3,580,366 个这个 Token ,但是只能查到我转出的记录,却查不到转入的记录,不知道啥时候拥有的

    我是新手,以太坊的世界都能这么玩吗?

    第 1 条附言  ·  2 天前
    结论:我刚刚收到了 [假地址投毒] 攻击



    感谢 #8 的 finian ,我去了解了一下 [假地址投毒] 攻击,我确实经历了 [假地址投毒] 攻击,并不是我签了合约,使用了一种称为零值转账的技术,这种高级网络钓鱼方法利用了代币转账在用户交易历史中的显示方式,诱骗受害者信任伪造的地址。零值转账不需要私钥签名,使其隐蔽且有效。

    黑客仿造我转账的真实地址前后结尾,等着我下一次转账时复制黑客的地址,导致我转错到黑客的钱包中
    12 条回复    2025-09-07 11:16:29 +08:00
    nkidgm
        1
    nkidgm  
       2 天前
    用的什么钱包?
    renfei
        2
    renfei  
    OP
       2 天前
    @nkidgm 什么都没用,不是我提交的交易,不是我签名的,签名的发送方是:
    0x5e84B55d512312AF65ed9b92c33Bd7ebd5815D76 ,不是我哈,所以我很懵逼
    q474818917
        3
    q474818917  
       2 天前
    approvefrom 已经受过权了
    renfei
        4
    renfei  
    OP
       2 天前
    @q474818917 大佬这个在哪看的,我最担心就是我瞎签授权了,哎
    BeCool
        5
    BeCool  
    PRO
       2 天前   ❤️ 1
    在这里查合约授权: https://revoke.cash/
    renfei
        6
    renfei  
    OP
       2 天前
    @BeCool 感谢佬,曾经有一个授权,但已经撤销了,现在里面是空白的
    tellhow
        7
    tellhow  
       2 天前
    这属于链上垃圾邮件/钓鱼攻击,黑客创建 token 再通过智能合约权限批量操控这些 token 转入或者转出到一些链上比较活跃的地址上,目的就是引导你去授权或者去他们的钓鱼网站,遇到这类交易或者莫名多出来的 token 忽略就好了
    finian
        8
    finian  
       2 天前   ❤️ 3
    这是典型的假代币地址投毒,手法是这样的:
    - 黑客监测到你的地址 A 往地址 B 发送了 X 枚 Y 代币
    - 他马上用假代币 Y' 合约构造从你的地址 A 发送 X 枚 Y' 代币到地址 B' 的交易(地址 B' 和地址 B 首尾几个字母一样)
    - 如果你下次转账时不验证目的地址,直接从交易历史复制地址 B',就直接发到黑客伪造的地址 B' 去了
    renfei
        9
    renfei  
    OP
       2 天前
    @finian 原来如此,学习到了,感谢大佬
    mimizi
        10
    mimizi  
       2 天前
    @finian 是的,所以一定要确认所有字母都是一致的,还有必须要进行小额转账测试。常用的地址最好加到联系人列表里
    finian
        11
    finian  
       1 天前
    准确来说,你这个并不是「零值转账」,区块浏览器现在都默认不会显示「零值转账」交易记录了。我梳理下目前的地址投毒手法:

    假设黑客监测到受害者的转账记录:
    A --> B (X Y)
    A 地址向 B 地址转账 X 枚 Y 代币。

    黑客可以选择实施以下地址投毒攻击:
    > B' 地址和 B 地址的首尾多个字符相同,不仔细辨认容易认错。
    > 投毒攻击的最终目的,是期待受害者下次转账时转到黑客构造的 B' 地址。

    1. A --> B' (0 Y)
    构造 A 地址向 B' 地址转账 0 枚 Y 代币的交易。由于绝大多数 ERC20 代币合约的 `transferFrom` 方法未严格区分「未授权」和「授权数量 0 」,导致使用 `transferFrom` 转移 0 数量代币可以绕过授权检查( Maybe it's a feature, not a bug ),即任何人都可以构造 A 地址转移 0 枚 Y 代币的交易。但目前几乎所有 Ethereum 浏览器都默认不会显示 0 数量代币的交易记录,所以这个方法已经不再使用。

    2. B' --> A (小额 Y)
    构造 B' 地址向 A 地址转移小额 Y 代币的交易。由于 0 数量代币交易记录已经不会默认显示了,所以黑客转而构造小额代币转移交易。但由于授权机制的限制,黑客不能将 A 地址构造成发送者,只能向 A 地址转账。由于 B' 地址是发送者不是目的地址,受害者上当的概率会小一些。

    3. A --> B' (X Y')
    构造 A 地址向 B' 地址转移 X 枚 Y' 代币的交易。Y' 代币是黑客构造的假代币。黑客可以通过合约随意构造 A 地址转移 Y' 代币的交易记录。而且为了让受害者更容易上当,转移数量会和受害者真实的转移数量保持一致。这是目前最常见的攻击手法,也是 OP 遇到的攻击类型。

    总之,转账前一定要再三确认目的地址,不能只看前后几位。大额转账先小额转下确认没问题再转剩下的。
    nkidgm
        12
    nkidgm  
       1 天前
    这么说,eth 域名的价值也体现出来了,未来每个人都拥有一个钱包“域名”才行。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   971 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 19:38 · PVG 03:38 · LAX 12:38 · JFK 15:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.