Ethernaut Foundry Solutions
文章平均质量分 89
Ethernaut的答案,使用Foundry解答。
0xKent
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Ethernaut Level 16: Preservation - Delegatecall与存储布局操纵
核心概念在调用者的上下文中执行代码,这意味着它可以修改调用者的存储。当调用者和被调用者的存储布局不匹配时,会导致意想不到的、灾难性的状态损坏。合约的存储槽是按顺序分配的,了解这个顺序是预测影响的关键。攻击向量利用和不匹配的存储布局来覆盖合约的关键状态变量(如指针或所有者地址)。通过两步攻击,首先劫持代码执行流(通过覆盖库地址),然后执行恶意代码来获取权限。防御策略严格限制的使用。优先使用library关键字来创建无状态的辅助合约。确保的目标合约具有兼容的存储布局。原创 2025-11-14 10:42:12 · 1133 阅读 · 0 评论 -
Ethernaut Level 15: Naught Coin - ERC20 approve/transferFrom漏洞
核心概念ERC20标准定义了一套代币交互的接口,仅仅限制其中一个(transfer)是不够的。approve和的组合是ERC20的一个核心功能,允许第三方代为转移代币。在进行合约继承和函数覆盖时,必须保持逻辑的一致性,否则很容易引入漏洞。攻击向量识别出合约只限制了transfer函数,而没有限制函数。利用approve和的标准功能来绕过不完整的安全限制。防御策略在修改继承合约的功能时,进行全面的影响分析,确保所有相关的函数都得到一致的处理。原创 2025-10-31 14:07:02 · 689 阅读 · 0 评论 -
Ethernaut Level 14: Gatekeeper Two - 合约创建时的 extcodesize
核心概念合约在执行期间的代码大小()为0。caller()和在特定上下文中的区别和联系。异或(XOR)运算的可逆性是解决密码学相关谜题的常用工具。攻击向量利用的特性绕过检查。在中完成所有攻击步骤,实现“部署即攻击”。逆向工程XOR逻辑以计算出所需的密钥。防御策略不要依赖来判断一个地址是否为合约。设计更简单、更直接的验证机制,避免模糊的链上密钥派生。原创 2025-10-27 14:01:32 · 1238 阅读 · 0 评论 -
Ethernaut Level 13: Gatekeeper One - Gas计算与类型转换
核心概念tx.originvsmsg.sender的区别是许多合约攻击的基础。gasleft()的值是动态的,依赖它进行验证是脆弱的。Solidity中的类型转换遵循严格的规则,不正确的转换或截断是常见的漏洞来源。攻击向量通过中间合约绕过tx.origin检查。通过暴力破解找到满足gasleft()模运算的gas值。通过逆向工程类型转换和位操作的require条件来构造一个有效的输入。防御策略不要将gas消耗作为安全机制。保持验证逻辑的简单和直接。原创 2025-10-21 11:01:03 · 1271 阅读 · 0 评论 -
Ethernaut Level 12: Privacy - 存储布局分析
核心概念同样,链上是没有隐私。一切都是公开的,任何人都可以阅读合理安排你的存储空间,可以节省 gasEVM 使用 32 字节的存储槽,小于 32 字节的类型会被打包攻击向量通过存储布局分析找到目标数据的 slot 位置使用 RPC 调用或 Foundry cheatcodes 读取数据正确处理数据类型转换和数据打包防御策略永远不要在链上存储明文敏感数据使用哈希、承诺方案或链下验证考虑使用加密存储解决方案合理设计存储布局以提高效率。原创 2025-10-16 16:23:08 · 368 阅读 · 0 评论 -
Ethernaut Level 11: Elevator - 接口实现攻击
核心概念接口是一种无需知道实现细节就可以与其他合约交互的方式但永远不要盲目相信它们!多次调用外部函数可能产生不一致的结果攻击向量实现恶意的接口逻辑利用多次调用之间的状态变化操纵函数返回值以达到攻击目的防御策略只调用一次外部函数并缓存结果使用view函数修饰符防止状态改变实现白名单机制控制访问尽可能使用内部逻辑而不依赖外部实现。原创 2025-10-16 16:02:46 · 798 阅读 · 0 评论 -
Ethernaut Level 10: Re-entrancy - 经典重入攻击详解
✅理解 CEI 模式的重要性✅掌握多种防护措施的使用✅认识状态管理的关键性✅学习历史案例的教训重入攻击看似简单,但其变种和组合形式在现代 DeFi 协议中仍然是主要威胁。掌握其原理和防护措施是每个智能合约开发者的必修课。原创 2025-10-13 15:43:28 · 651 阅读 · 0 评论 -
Ethernaut Level 9: King - 拒绝服务攻击
核心概念send和transfer现在已被弃用,即使是call,使用时最好按照检查-效果-交互模式调用外部调用必须谨慎使用,必须正确处理错误Push Payment 模式容易受到 DoS 攻击攻击向量通过拒绝接收 ETH 来破坏支付流程利用transfer失败时的回滚特性成为永久的 king,破坏游戏机制防御策略使用 Pull Payment 模式正确处理外部调用失败实现紧急停止和恢复机制避免依赖外部调用的成功。原创 2025-10-09 12:20:26 · 588 阅读 · 0 评论 -
Ethernaut Level 8: Vault - 私有变量读取
核心概念private关键字意味着数据只能由合约本身访问,而不是对外界隐藏区块链上没有什么是私有的,一切都是公开的,任何人都可以阅读EVM 存储使用 32 字节的插槽系统攻击向量直接读取合约存储分析存储布局确定敏感数据位置使用 RPC 调用或 Foundry cheatcodes 读取数据防御策略永远不要在链上存储明文敏感数据使用哈希和承诺方案考虑链下验证机制实施适当的访问控制。原创 2025-10-08 09:58:55 · 953 阅读 · 0 评论 -
Ethernaut Level 7: Force - 强制转账ETH
✅永远不要依赖- 可以被强制修改✅使用内部状态跟踪余额- 更加安全可靠✅理解 selfdestruct 的强制性- 无法被合约拒绝✅设计时考虑意外资金- 处理非预期的以太币这个看似简单的攻击揭示了以太坊虚拟机层面的重要特性。原创 2025-10-05 09:19:36 · 658 阅读 · 0 评论 -
Ethernaut Level 6: Delegation - delegatecall 存储槽攻击
Delegation 关卡揭示了✅理解上下文切换机制- 代码在不同存储空间执行✅掌握存储槽布局匹配- 代理和实现必须一致✅学习安全代理模式- 使用标准化解决方案✅认识函数选择器安全- 控制可调用的函数是实现合约升级和模块化的重要工具,但也是许多安全漏洞的根源。理解其工作原理对于构建安全的可升级合约至关重要。原创 2025-09-24 11:00:01 · 676 阅读 · 0 评论 -
Ethernaut Level 5: Token - 整数下溢攻击详解
✅整数溢出的严重后果- 可以完全破坏代币经济学✅版本升级的重要性- Solidity 0.8.0+ 提供内置保护✅SafeMath 的历史价值- 在旧版本中提供安全保护✅显式检查的必要性- 总是验证关键假设这个看似简单的算术错误,实际上影响了无数 DeFi 项目的安全性设计。原创 2025-09-22 14:18:36 · 997 阅读 · 0 评论 -
Ethernaut Level 4: Telephone - tx.origin vs msg.sender 身份验证绕过
✅ 永远不要使用tx.origin进行身份验证✅ 使用msg.sender进行安全的身份检查✅ 理解调用链中的身份传递机制。原创 2025-09-17 11:09:15 · 586 阅读 · 0 评论 -
Ethernaut Level 3: Coin Flip - 伪随机数攻击详解
✅区块链是确定性系统- 相同输入必然产生相同输出✅透明性带来可预测性- 所有数据都是公开的✅真随机数需要外部熵源- 必须依赖链下随机性✅预言机是最佳解决方案- Chainlink VRF 等服务这个看似简单的猜硬币游戏,实际上涉及密码学、概率论和分布式系统的深层概念。理解其原理对于构建安全的智能合约至关重要。原创 2025-09-17 10:36:26 · 1323 阅读 · 0 评论 -
Ethernaut Level 2: Fallout - 构造函数命名漏洞
✅细节决定成败- 一个字符的差异导致完全不同的结果✅工具的重要性- 现代编译器和工具可以避免此类错误✅代码审计的价值- 人工审计能发现工具遗漏的问题✅版本升级的必要性- 使用最新的安全特性这个案例提醒我们,在智能合约开发中,没有小错误,只有大损失。原创 2025-09-15 11:07:08 · 1062 阅读 · 0 评论 -
Ethernaut Level 1: Fallback - 回退函数权限提升攻击
✅函数职责分离的重要性✅权限验证的必要性✅特殊函数的使用注意事项✅Foundry 测试框架的基本使用这是学习智能合约安全的良好起点,为后续更复杂的攻击技术打下基础。原创 2025-09-12 15:21:06 · 830 阅读 · 0 评论 -
Foundry 环境搭建与 Ethernaut 项目配置
FoundryForge: 测试框架Cast: 瑞士军刀般的 RPC 工具Anvil: 本地测试网络Chiselruns = 256depth = 32现在您已经完成了 Foundry 开发环境的搭建,可以开始 Ethernaut 安全挑战的学习之旅了!原创 2025-09-12 15:08:55 · 937 阅读 · 0 评论 -
Ethernaut Foundry Solutions - 完整系列教程
本系列文章详细介绍如何使用Foundry框架来解决 Ethernaut 的各个挑战。Foundry 是一个现代化的以太坊开发工具套件,提供了强大的测试、部署和调试功能。原创 2025-09-12 15:01:46 · 1102 阅读 · 0 评论
分享