panyuti-ai/ethernaut-writeups
GitHub: panyuti-ai/ethernaut-writeups
整合了 OpenZeppelin Ethernaut 智能合约安全挑战全部关卡的解题笔记、漏洞利用代码与安全要点解析。
Stars: 0 | Forks: 0
# Ethernaut Writeups
我在完成挑战时为 [OpenZeppelin Ethernaut](https://ethernaut.openzeppelin.com/) 编写的解答和笔记,整合自我之前使用的各个单独的代码仓库。
每个目录包含对应关卡的原始笔记、漏洞利用代码或概念验证。这些示例仅供学习和在本地/测试网使用。
## 挑战
| 挑战 | 核心概念 |
| --- | --- |
| [Telephone](challenges/telephone/) | `tx.origin` 身份验证 |
| [Token](challenges/token/) | 整数运算 |
| [Delegation](challenges/delegation/) | `delegatecall` 与存储上下文 |
| [Force](challenges/force/) | 强制 Ether 转账 |
| [Vault](challenges/vault/) | 链上存储可见性 |
| [King](challenges/king/) | 通过回退接收方进行拒绝服务 |
| [Re-entrancy](challenges/re-entrancy/) | 重入攻击 |
| [Elevator](challenges/elevator/) | 外部调用假设 |
| [Privacy](challenges/privacy/) | 存储布局 |
| [Gatekeeper One](challenges/gatekeeper-one/) | Gas 与类型转换 |
| [Gatekeeper Two](challenges/gatekeeper-two/) | 构造函数时期的代码大小 |
| [Naught Coin](challenges/naught-coin/) | ERC-20 授权额度 |
| [Preservation](challenges/preservation/) | `delegatecall` 导致的存储碰撞 |
| [Recovery](challenges/recovery/) | 合约地址推导 |
| [Alien Codex](challenges/alien-codex/) | 存储下溢与槽位控制 |
| [Denial](challenges/denial/) | Gas 耗尽攻击 |
| [Shop](challenges/shop/) | 外部 view 调用结果不一致 |
| [Dex](challenges/dex/) | AMM 价格操纵 |
| [Dex Two](challenges/dex-two/) | 缺失的 token 验证 |
| [Puzzle Wallet](challenges/puzzle-wallet/) | 代理存储碰撞与 multicall |
| [Motorbike](challenges/motorbike/) | 可升级代理初始化 |
| [DoubleEntryPoint](challenges/double-entry-point/) | 检测机器人与委托 token |
| [Good Samaritan](challenges/good-samaritan/) | 自定义 error 滥用 |
| [Gatekeeper Three](challenges/gatekeeper-three/) | 多条件访问控制 |
| [Switch](challenges/switch/) | ABI calldata 验证 |
| [Higher Order](challenges/higher-order/) | 原始 calldata 与 ABI 解码 |
| [Stake](challenges/stake/) | 账本不变量 |
| [Magic Animal Carousel](challenges/magic-animal-carousel/) | 打包存储与字符串处理 |
## 仓库结构
```
ethernaut-writeups/
├── README.md
└── challenges/
├── alien-codex/
├── delegation/
└── ...
```
## 免责声明
本仓库中的合约和漏洞利用代码均为刻意设计为存在漏洞的学习练习。请勿在生产环境中部署或复用它们。
标签:区块链安全, 密码学货币, 智能合约审计