封面
版权信息
内容简介
序
前言
第0章 初探区块链与智能合约
关于区块链
区块链定义
区块链技术
区块链层级结构
区块链的优点
关于智能合约
以太坊
第1章 环境准备
1.1 使用npm安装Remix IDE
1.2 使用docker安装Remix IDE
1.3 使用docker安装geth
1.4 本章总结
第2章 Remix环境介绍和使用方法
2.1 Remix环境的使用方法1
部署学习
2.2 Remix环境的使用方法2
2.2.1 部署学习
2.2.2 构造函数
2.2.3 初始化合约余额
2.3 Remix环境的使用方法3
Remix搭配MetaMask
2.4 本章总结
第3章 MetaMask的使用方法
3.1 安装MetaMask
3.2 获取测试币
3.3 MetaMask Api的使用方法
3.4 本章总结
第4章 geth的使用方法
4.1 geth基础命令
子命令的使用方法
4.2 console的基础命令
4.2.1 console中web3对象的命令
4.2.2 console中的挖矿
4.3 geth启动节点
4.3.1 启动节点
4.3.2 测试节点
4.3.3 启动参数说明
- APP免费
4.3.4 关于RPC
- APP免费
4.3.5 连接节点
- APP免费
4.3.6 新建用户
- APP免费
4.3.7 开始挖矿
- APP免费
4.3.8 测试转账
- APP免费
4.4 部署智能合约1
- APP免费
4.4.1 使用容器提供例子
- APP免费
4.4.2 重新编译
- APP免费
4.5 调用智能合约1
- APP免费
4.6 geth从头搭建私链
- APP免费
4.6.1 创建目录
- APP免费
4.6.2 启动私链节点
- APP免费
4.7 部署智能合约2
- APP免费
4.8 调用智能合约2
- APP免费
4.9 geth的新版本
- APP免费
4.10 本章总结
- APP免费
第5章 Solidity语言基础
- APP免费
5.1 创建合约
- APP免费
5.2 合约接口
- APP免费
5.3 变量类型
- APP免费
5.4 变量修饰
- APP免费
5.5 类型转换
- APP免费
5.6 数学运算
- APP免费
5.7 字符串比较
- APP免费
5.8 结构体
- APP免费
5.9 普通数组
- APP免费
5.10 函数定义及修饰
- APP免费
5.11 构造函数
- APP免费
5.12 函数返回值
- APP免费
5.13 自毁函数
- APP免费
5.14 fallback函数
- APP免费
5.15 receive函数
- APP免费
5.16 msg全局变量和tx全局变量
- APP免费
5.16.1 msg全局变量
- APP免费
5.16.2 tx全局变量
- APP免费
5.17 创建事件
- APP免费
5.18 循环结构
- APP免费
5.19 以太币单位
- APP免费
5.20 转账函数
- APP免费
5.21 本章总结
- APP免费
第6章 Solidity数据存储
- APP免费
6.1 存储中的状态变量存储结构
- APP免费
6.2 紧凑存储
- APP免费
6.3 动态大小数据存储
- APP免费
6.3.1 动态String
- APP免费
6.3.2 关于length*2问题
- APP免费
6.4 动态数组存储
- APP免费
6.5 字典mapping存储
- APP免费
6.6 本章总结
- APP免费
第7章 web3.js和web3.py
- APP免费
7.1 web3.js
- APP免费
7.2 web3.js配合MetaMask使用
- APP免费
7.2.1 异步请求方式1
- APP免费
7.2.2 异步请求方式2
- APP免费
7.2.3 异步请求方式3
- APP免费
7.3 常用函数
- APP免费
7.3.1 hash函数
- APP免费
7.3.2 与地址相关
- APP免费
7.3.3 单位转换
- APP免费
7.3.4 字符串转换
- APP免费
7.3.5 账户和余额
- APP免费
7.3.6 获取插槽数据
- APP免费
7.3.7 获取区块信息
- APP免费
7.3.8 获取交易信息
- APP免费
7.3.9 交易签名和发送
- APP免费
7.3.10 ABI签名和编码
- APP免费
7.4 web3.js连接节点
- APP免费
7.5 web3.js部署合约
- APP免费
7.6 web3.js合约交互
- APP免费
7.6.1 实例化合约对象
- APP免费
7.6.2 web3.js call调用
- APP免费
7.6.3 web3.js send调用
- APP免费
7.7 web3.py
- APP免费
7.8 web3.py部署合约
- APP免费
7.9 web3.py合约交互
- APP免费
7.10 本章总结
- APP免费
第8章 利用漏洞
- APP免费
8.1 关于call函数
- APP免费
8.1.1 函数选择器(函数签名)
- APP免费
8.1.2 call函数无参数调用
- APP免费
8.1.3 call函数有参数调用
- APP免费
8.1.4 call函数调用其他合约
- APP免费
8.2 漏洞场景
- APP免费
8.3 代码分析
- APP免费
8.4 漏洞复现
- APP免费
8.5 本章总结
- APP免费
第9章 重入漏洞
- APP免费
9.1 关于重入漏洞
- APP免费
9.2 关于fallback函数
- APP免费
9.3 攻击场景
- APP免费
9.4 漏洞场景
- APP免费
9.5 攻击演示
- APP免费
9.6 本章总结
- APP免费
第10章 整型溢出漏洞
- APP免费
10.1 溢出原理
- APP免费
10.2 溢出场景
- APP免费
10.2.1 加法溢出
- APP免费
10.2.2 减法溢出
- APP免费
10.3 案例分析
- APP免费
10.3.1 BEC合约代码片段
- APP免费
10.3.2 代码分析
- APP免费
10.4 攻击模拟
- APP免费
10.5 本章总结
- APP免费
第11章 访问控制漏洞
- APP免费
11.1 关于访问控制漏洞
- APP免费
11.1.1 代码层面的可见性
- APP免费
11.1.2 逻辑层面的权限约束
- APP免费
11.2 漏洞场景1
- APP免费
11.2.1 漏洞场景分析
- APP免费
11.2.2 漏洞场景演示
- APP免费
11.2.3 规避建议
- APP免费
11.3 漏洞场景2
- APP免费
11.3.1 漏洞场景分析
- APP免费
11.3.2 漏洞场景演示
- APP免费
11.3.3 规避建议
- APP免费
11.4 漏洞场景3
- APP免费
11.4.1 tx.origin全局变量和msg.sender全局变量
- APP免费
11.4.2 漏洞场景分析
- APP免费
11.4.3 漏洞场景演示
- APP免费
11.4.4 规避建议
- APP免费
11.5 本章总结
- APP免费
第12章 未检查返回值
- APP免费
12.1 低级别调用函数
- APP免费
12.2 低级别调用中产生异常的原因
- APP免费
12.3 低级别函数与普通函数调用的区别
- APP免费
12.4 漏洞场景
- APP免费
12.4.1 关于send函数
- APP免费
12.4.2 漏洞场景分析
- APP免费
12.4.3 漏洞场景演示
- APP免费
12.5 真实案例
- APP免费
12.6 漏洞预防
- APP免费
第13章 可预测随机值
- APP免费
13.1 随机数生成
- APP免费
13.1.1 区块变量作为熵源的PRNG
- APP免费
13.1.2 区块变量测试
- APP免费
13.2 漏洞场景
- APP免费
13.2.1 漏洞场景分析
- APP免费
13.2.2 漏洞场景演示
- APP免费
13.3 漏洞修复
- APP免费
第14章 时间控制漏洞
- APP免费
14.1 关于block.timestamp
- APP免费
14.2 以太坊中时间戳的合理要求
- APP免费
14.3 漏洞场景1
- APP免费
14.3.1 漏洞场景分析
- APP免费
14.3.2 漏洞场景演示
- APP免费
14.3.3 另外攻击姿势
- APP免费
14.4 漏洞场景2
- APP免费
14.5 本章总结
- APP免费
第15章 抢先交易漏洞
- APP免费
15.1 关于抢先交易漏洞
- APP免费
15.2 满足“抢先交易”的条件
- APP免费
15.3 决定交易顺序的原则
- APP免费
15.3.1 手续费高低原则
- APP免费
15.3.2 先进先出原则
- APP免费
15.3.3 共识节点排序原则
- APP免费
15.4 交易池
- APP免费
15.5 攻击流程
- APP免费
15.6 漏洞场景分析
- APP免费
15.7 漏洞场景演示
- APP免费
15.7.1 本地搭建私链
- APP免费
15.7.2 错误不期而遇
- APP免费
15.7.3 改用geth
- APP免费
15.7.4 部署合约
- APP免费
15.7.5 攻击演示
- APP免费
15.7.6 小结
- APP免费
15.8 本章总结
- APP免费
第16章 短地址攻击漏洞
- APP免费
16.1 关于短地址攻击漏洞
- APP免费
16.2 漏洞场景分析
- APP免费
16.3 攻击者地址的生成
- APP免费
16.4 漏洞场景演示
- APP免费
16.5 本章总结
- APP免费
第17章 拒绝服务漏洞
- APP免费
17.1 关于拒绝服务漏洞
- APP免费
17.2 漏洞场景1
- APP免费
17.2.1 漏洞场景演示
- APP免费
17.2.2 selfdestruct函数
- APP免费
17.3 漏洞场景2
- APP免费
17.3.1 所有者丢失
- APP免费
17.3.2 漏洞场景演示
- APP免费
17.4 漏洞场景3
- APP免费
17.5 漏洞场景4
- APP免费
17.5.1 非预期异常
- APP免费
17.5.2 攻击payload
- APP免费
17.5.3 漏洞场景演示
- APP免费
17.6 本章总结
- APP免费
第18章 账户及账户生成
- APP免费
18.1 以太坊账户
- APP免费
18.2 以太坊地址
- APP免费
18.3 外部账户的生成
- APP免费
18.4 特定外部账户的生成
- APP免费
18.5 合约账户的生成
- APP免费
18.6 Create2
- APP免费
18.6.1 关于Create2
- APP免费
18.6.2 Create code
- APP免费
18.6.3 Factory合约
- APP免费
18.7 本章总结
- APP免费
第19章 Ethernaut
- APP免费
19.1 关于Ethernaut
- APP免费
19.2 环境准备
- APP免费
19.2.1 Hello Ethernaut
- APP免费
19.2.2 安装MetaMask插件
- APP免费
19.2.3 测试网络的选择
- APP免费
19.2.4 控制台的使用
- APP免费
19.3 本章总结
- APP免费
第20章 Ethernaut Level 1
- APP免费
20.1 Level 1 Fallback
- APP免费
20.2 源码分析
- APP免费
20.2.1 fallback函数
- APP免费
20.2.2 攻击过程
- APP免费
20.3 闯关尝试
- APP免费
20.4 本章总结
- APP免费
第21章 Ethernaut Level 2~5
- APP免费
21.1 Level 2 Fallout
- APP免费
21.1.1 关卡源码
- APP免费
21.1.2 源码分析
- APP免费
21.1.3 闯关尝试
- APP免费
21.2 Level 3 CoinFlip
- APP免费
21.2.1 关卡源码
- APP免费
21.2.2 源码分析
- APP免费
21.2.3 闯关尝试
- APP免费
21.2.4 攻击payload
- APP免费
21.2.5 问题总结
- APP免费
21.3 Level 4 Telephone
- APP免费
21.3.1 关卡源码
- APP免费
21.3.2 源码分析
- APP免费
21.3.3 攻击payload
- APP免费
21.3.4 闯关尝试
- APP免费
21.4 Level 5 Token
- APP免费
21.4.1 关卡源码
- APP免费
21.4.2 源码分析
- APP免费
21.4.3 闯关尝试
- APP免费
21.5 本章总结
- APP免费
第22章 Ethernaut Level 6~9
- APP免费
22.1 Level 6 Delegation
- APP免费
22.1.1 关卡源码
- APP免费
22.1.2 源码分析
- APP免费
22.1.3 闯关尝试
- APP免费
22.1.4 另谋出路
- APP免费
22.2 Level 7 Force
- APP免费
22.2.1 关卡源码
- APP免费
22.2.2 源码分析
- APP免费
22.2.3 攻击payload
- APP免费
22.2.4 闯关尝试
- APP免费
22.3 Leval 8 Vault
- APP免费
22.3.1 关卡源码
- APP免费
22.3.2 源码分析
- APP免费
22.3.3 闯关尝试
- APP免费
22.4 Level 9 King
- APP免费
22.4.1 关卡源码
- APP免费
22.4.2 源码分析
- APP免费
22.4.3 攻击payload
- APP免费
22.4.4 闯关尝试
- APP免费
22.5 本章总结
- APP免费
第23章 Ethernaut Level 10~13
- APP免费
23.1 Level 10 Reentrance
- APP免费
23.1.1 关卡源码
- APP免费
23.1.2 源码分析
- APP免费
23.1.3 关于重入漏洞
- APP免费
23.1.4 攻击payload
- APP免费
23.1.5 闯关尝试
- APP免费
23.2 Level 11 Elevator
- APP免费
23.2.1 关卡源码
- APP免费
23.2.2 源码分析
- APP免费
23.2.3 攻击payload
- APP免费
23.2.4 闯关尝试
- APP免费
23.3 Level 12 Privacy
- APP免费
23.3.1 关卡源码
- APP免费
23.3.2 源码分析
- APP免费
23.3.3 闯关尝试
- APP免费
23.4 Level 13 GatekeeperOne
- APP免费
23.4.1 关卡源码
- APP免费
23.4.2 源码分析
- APP免费
23.4.3 攻击payload
- APP免费
23.4.4 闯关尝试
- APP免费
23.5 本章总结
- APP免费
第24章 Ethernaut Level 14~17
- APP免费
24.1 Level 14 GatekeeperTwo
- APP免费
24.1.1 关卡源码
- APP免费
24.1.2 源码分析
- APP免费
24.1.3 攻击payload
- APP免费
24.1.4 闯关尝试
- APP免费
24.2 Level 15 NaughtCoin
- APP免费
24.2.1 关卡源码
- APP免费
24.2.2 源码分析
- APP免费
24.2.3 闯关尝试
- APP免费
24.3 Level 16 Preservation
- APP免费
24.3.1 关卡源码
- APP免费
24.3.2 源码分析
- APP免费
24.3.3 攻击payload
- APP免费
24.3.4 闯关尝试
- APP免费
24.4 Level 17 Recovery
- APP免费
24.4.1 关卡源码
- APP免费
24.4.2 源码分析
- APP免费
24.4.3 闯关尝试
- APP免费
24.5 本章总结
- APP免费
第25章 Ethernaut Level 18~20
- APP免费
25.1 Level 18 MagicNumber
- APP免费
25.1.1 关卡源码
- APP免费
25.1.2 源码分析
- APP免费
25.1.3 闯关尝试
- APP免费
25.2 Level 19 AlienCodex
- APP免费
25.2.1 关卡源码
- APP免费
25.2.2 源码分析
- APP免费
25.2.3 闯关尝试
- APP免费
25.3 Level 20 Denial
- APP免费
25.3.1 关卡源码
- APP免费
25.3.2 源码分析
- APP免费
25.3.3 payload
- APP免费
25.3.4 闯关尝试
- APP免费
25.4 本章总结
- APP免费
第26章 通用payload
更新时间:2024-10-16 17:34:41