计算机
类型
7.6
豆瓣评分
可以朗读
语音朗读
350千字
字数
2020-09-01
发行日期
展开全部
主编推荐语
CTF技术全面解析,区块链技术加入,线下赛与真实漏洞挖掘分享。
内容简介
本书从CTF的主流题目技术分类入手,分为3部分,共12章。除了涉及了常规的CTF题目分类,如web、pwn、reverse、crypto、misc、apk等等,还将最近流行的区块链技术加入其中,同时加入了线下赛以及真实世界漏洞挖掘的经验分享。
目录
- 封面
- 版权信息
- 内容简介
- 序——做网络安全竞赛高质量发展的推动者
- 序——在网络安全实战中培养人才
- 序——安全竞赛的魅力与价值
- 前言
- CTF之线上赛
- 第1章 Web入门
- 1.1 举足轻重的信息搜集
- 1.1.1 信息搜集的重要性
- 1.1.2 信息搜集的分类
- 1.1.2.1 敏感目录泄露
- 1.1.2.2 敏感备份文件
- 1.1.2.3 Banner识别
- 1.1.3 从信息搜集到题目解决
- 1.2 CTF中的SQL注入
- 1.2.1 SQL注入基础
- 1.2.1.1 数字型注入和UNION注入
- 1.2.1.2 字符型注入和布尔盲注
- 1.2.1.3 报错注入
- 1.2.2 注入点
- 1.2.2.1 SELECT注入
- 1.2.2.2 INSERT注入
- 1.2.2.3 UPDATE注入
- 1.2.2.4 DELETE注入
- 1.2.3 注入和防御
- 1.2.3.1 字符替换
- 1.2.3.2 逃逸引号
- 1.2.4 注入的功效
- 1.2.5 SQL注入小结
- 1.3 任意文件读取漏洞
- 1.3.1 文件读取漏洞常见触发点
- 1.3.1.1 Web语言
- 1.3.1.2 中间件/服务器相关
- 1.3.1.3 客户端相关
- 1.3.2 文件读取漏洞常见读取路径
- 1.3.2.1 Linux
- 1.3.2.2 Windows
- 1.3.3 文件读取漏洞例题
- 1.3.3.1 兵者多诡(HCTF 2016)
- 1.3.3.2 PWNHUB-Classroom
- 1.3.3.3 Show me the shell I(TCTF/0CTF 2018 Final)
- 1.3.3.4 BabyIntranet I(SCTF 2018)
- 1.3.3.5 SimpleVN(BCTF 2018)
- 1.3.3.6 Translate(Google CTF 2018)
- 1.3.3.7 看番就能拿Flag(PWNHUB)
- 1.3.3.8 2013那年(PWNHUB)
- 1.3.3.9 Comment(网鼎杯2018线上赛)
- 1.3.3.10 方舟计划(CISCN 2017)
- 1.3.3.11 PrintMD(RealWorldCTF 2018线上赛)
- 1.3.3.12 粗心的佳佳(PWNHUB)
- 1.3.3.13 教育机构(强网杯2018线上赛)
- 1.3.3.14 Magic Tunnel(RealworldCTF 2018线下赛)
- 1.3.3.15 Can you find me?(WHUCTF 2019,武汉大学校赛)
- 小结
- 第2章 Web进阶
- 2.1 SSRF漏洞
- 2.1.1 SSRF的原理解析
- 2.1.2 SSRF漏洞的寻找和测试
- 2.1.3 SSRF漏洞攻击方式
- 2.1.3.1 内部服务资产探测
- 2.1.3.2 使用Gopher协议扩展攻击面
- 2.1.3.3 自动组装Gopher
- 2.1.4 SSRF的绕过
- 2.1.4.1 IP的限制
- 2.1.4.2 302跳转
- 2.1.4.3 URL的解析问题
- 2.1.4.4 DNS Rebinding
- 2.1.5 CTF中的SSRF
- 2.2 命令执行漏洞
- 2.2.1 命令执行的原理和测试方法
- 2.2.1.1 命令执行原理
- 2.2.1.2 命令执行基础
- 2.2.1.3 命令执行的基本测试
- 2.2.2 命令执行的绕过和技巧
- 2.2.2.1 缺少空格
- 2.2.2.2 黑名单关键字
- 2.2.2.3 执行无回显
- 2.2.3 命令执行真题讲解
- 2.2.3.1 2015 HITCON BabyFirst
- 2.2.3.2 2017 HITCON BabyFirst Revenge
- 2.2.3.3 2017 HITCON BabyFirst Revenge v2
- 2.3 XSS的魔力
- 2.3.1 XSS漏洞类型
- 2.3.2 XSS的tricks
- 2.3.3 XSS过滤和绕过
- 2.3.4 XSS绕过案例
- 2.4 Web文件上传漏洞
- 2.4.1 基础文件上传漏洞
- 2.4.2 截断绕过上传限制
- 2.4.2.1 00截断
- 2.4.2.2 转换字符集造成的截断
- 2.4.3 文件后缀黑名单校验绕过
- 2.4.3.1 上传文件重命名
- 2.4.3.2 上传文件不重命名
- 2.4.4 文件后缀白名单校验绕过
- 2.4.4.1 Web服务器解析漏洞
- 2.4.4.2 APACHE解析漏洞
- 2.4.5 文件禁止访问绕过
- 2.4.5.1.htaccess禁止脚本文件执行绕过
- 2.4.5.2 文件上传到OSS
- 2.4.5.3 配合文件包含绕过
- 2.4.5.4 一些可被绕过的Web配置
- 2.4.6 绕过图片验证实现代码执行
- 2.4.7 上传生成的临时文件利用
- 2.4.8 使用file_put_contents实现文件上传
- 2.4.9 ZlP上传带来的上传问题
- 小结
- 第3章 Web拓展
- 3.1 反序列化漏洞
- 3.1.1 PHP反序列化
- 3.1.1.1 常见反序列化
- 3.1.1.2 原生类利用
- 3.1.1.3 Phar反序列化
- 3.1.1.4 小技巧
- 3.1.2 经典案例分析
- 3.2 Python的安全问题
- 3.2.1 沙箱逃逸
- 3.2.1.1 关键词过滤
- 3.2.1.2 花样import
- 3.2.1.3 使用继承等寻找对象
- 3.2.1.4 eval类的代码执行
- 3.2.2 格式化字符串
- 3.2.2.1 最原始的%
- 3.2.2.2 format方法相关
- 3.2.2.3 Python 3.6中的f字符串
- 3.2.3 Python模板注入
- 3.2.4 urllib和SSRF
- 3.2.4.1 CVE-2016-5699
- 3.2.4.2 CVE-2019-9740
- 3.2.5 Python反序列化
- 3.2.6 Python XXE
- 3.2.7 sys.audit
- 3.2.8 CTF Python案例
- 3.2.8.1 皇家线上赌场(SWPU 2018)
- 3.2.8.2 mmmmy(网鼎杯2018线上赛)
- 3.3 密码学和逆向知识
- 3.3.1 密码学知识
- 3.3.1.1 分组加密
- 3.3.1.2 加密方式的识别
- 3.3.1.3 ECB模式
- 3.3.1.4 CBC模式
- 3.3.1.5 Padding Oracle Attack
- 3.3.1.6 Hash Length Extension
- 3.3.1.7 伪随机数
- 3.3.1.8 密码学小结
- 3.3.2 Web中的逆向工程
- 3.3.2.1 Python
- 3.3.2.2 PHP
- 3.3.2.3 JavaScript
- 3.4 逻辑漏洞
- 3.4.1 常见的逻辑漏洞
- 3.4.2 CTF中的逻辑漏洞
- 3.4.3 逻辑漏洞小结
- 小结
- 第4章 APK
- 4.1 Android开发基础
- 4.1.1 Android四大组件
- 4.1.2 APK文件结构
- 4.1.3 DEX文件格式
- 4.1.4 Android APl
- 4.1.5 Android示例代码
- 4.2 APK逆向工具
- 4.2.1 JEB
- 4.2.2 lDA
- 4.2.3 Xposed Hook
- 4.2.4 Frida Hook
- 4.3 APK逆向之反调试
- 4.4 APK逆向之脱壳
- 4.4.1 注入进程Dump内存
- 4.4.2 修改源码脱壳
- 4.4.3 类重载和DEX重组
- 4.5 APK真题解析
- 4.5.1 ollvm混淆Native App逆向(NJCTF 2017)
- 4.5.2 反调试及虚拟机检测(XDCTF 2016)
- 小结
- 第5章 逆向工程
- 5.1 逆向工程基础
- 5.1.1 逆向工程概述
- 5.1.2 可执行文件
- 5.1.3 汇编语言基本知识
- 5.1.4 常用工具介绍
- 5.2 静态分析
- 5.2.1 lDA使用入门
- 5.2.2 HexRays反编译器入门
- 5.2.3 lDA和HexRays进阶
- 5.3 动态调试和分析
- 5.3.1 调试的基本原理
- 5.3.2 OllyDBG和x64DBG调试
- 5.3.3 GDB调试
- 5.3.4 lDA调试器
- 5.4 常见算法识别
- 5.4.1 特征值识别
- 5.4.2 特征运算识别
- 5.4.3 第三方库识别
- 5.5 二进制代码保护和混淆
- 5.5.1 抵御静态分析
- 5.5.2 加密
- 5.5.3 反调试
- 5.5.4 浅谈ollvm
- 5.6 高级语言逆向
- 5.6.1 Rust和Go
- 5.6.2 C#和Python
- 5.6.3 C++MFC
- 5.7 现代逆向工程技巧
- 5.7.1 符号执行
- 5.7.1.1 符号执行概述
- 5.7.1.2 angr
- 5.7.1.3 angr小结
- 5.7.2 二进制插桩
- 5.7.3 Pin
- 5.7.3.1 环境配置
- 5.7.3.2 Pintool使用
- 5.7.3.3 Pintool基本框架
- 5.7.3.4 CTF实战:记录执行指令数
- 5.7.3.5 CTF实战:记录指令轨迹
- 5.7.3.6 CTF实战:记录指令执行信息与修改内存
- 5.7.3.7 Pin小结
- 5.8 逆向中的特殊技巧
- 5.8.1 Hook
- 5.8.2 巧妙利用程序已有代码
- 5.8.3 Dump内存
- 小结
- 第6章 PWN
- 6.1 PWN基础
- 6.1.1 什么是PWN
- 6.1.2 如何学习PWN
- 6.1.3 Linux基础知识
- 6.1.3.1 Linux中的系统与函数调用
- 6.1.3.2 ELF文件结构
- 6.1.3.3 Linux下的漏洞缓解措施
- 6.1.3.4 GOT和PLT的作用
- 6.2 整数溢出
- 6.2.1 整数的运算
- 6.2.2 整数溢出如何利用
- 6.3 栈溢出
- 6.4 返回导向编程
- 6.5 格式化字符串漏洞
- 6.5.1 格式化字符串漏洞基本原理
- 6.5.2 格式化字符串漏洞基本利用方式
- 6.5.3 格式化字符串不在栈上的利用方式
- 6.5.4 格式化字符串的一些特殊用法
- 6.5.5 格式化字符串小结
- 6.6 堆利用
- 6.6.1 什么是堆
- 6.6.2 简单的堆溢出
- 6.6.3 堆内存破坏漏洞利用
- 6.6.3.1 Glibc调试环境搭建
- 6.3.6.2 Fast Bin Attack
- 6.6.3.3 Unsorted Bin List
- 6.6.3.4 Unlink攻击
- 6.6.3.5 Large Bin Attack(0CTF heapstormII)
- 6.6.3.6 Make Life Easier:tcache
- 6.6.3.7 Glibc 2.29的tcache
- 6.7 Linux内核PWN
- 6.7.1 运行一个内核
- 6.7.2 网络配置
- 6.7.3 文件系统
- 6.7.4 初始化脚本
- 6.7.5 内核调试
- 6.7.6 分析程序
- 6.7.7 漏洞利用
- 6.7.8 PWN Linux小结
- 6.7.9 Linux内核PWN源代码
- 6.8 Windows系统的PWN
- 6.8.1 Windows的权限管理
- 6.8.2 Windows的调用约定
- 6.8.3 Windows的漏洞缓解机制
- 6.8.4 Windows的PWN技巧
- 6.9 Windows内核PWN
- 6.9.1 关于Windows操作系统
- 6.9.1.1 80386和保护模式
- 6.9.1.2 Windows操作系统寻址
- 6.9.1.3 Windows操作系统架构
- 6.9.1.4 Windows内核调试环境
- 6.9.2 Windows内核漏洞
- 6.9.2.1 简单的Windows驱动开发入门
- 6.9.2.2 编写栈溢出示例
- 6.9.2.3 编写任意地址写示例
- 6.9.2.4 加载内核驱动程序
- 6.9.2.5 Windows 7内核漏洞利用
- 6.9.2.6 内核缓解措施与读写原语
- 6.9.3 参考与引用
- 6.10 从CTF到现实世界的PWN
- 小结
- 第7章 Crypto
- 7.1 编码
- 7.1.1 编码的概念
- 7.1.2 Base编码
- 7.1.3 其他编码
- 7.1.4 编码小结
- 7.2 古典密码
- 7.2.1 线性映射
- 7.2.2 固定替换
- 7.2.3 移位密码
- 7.2.4 古典密码小结
- 7.3 分组密码
- 7.3.1 分组密码常见工作模式
- 7.3.1.1 ECB
- 7.3.1.2 CBC
- 7.3.1.3 OFB
- 7.3.1.4 CFB
- 7.3.1.5 CTR
- 7.3.2 费斯妥密码和DES
- 7.3.2.1 费斯妥密码
- 7.3.2.2 DES
- 7.3.2.3 例题
- 7.3.3 AES
- 7.3.3.1 有限域
- 7.3.3.2 Rijndael密钥生成
- 7.3.3.3 AES步骤
- 7.3.3.4 常见攻击
- 7.4 流密码
- 7.4.1 线性同余生成器(LCG)
- 7.4.1.1 由已知序列破译LCG
- 7.4.1.2 攻破Linux Glibc的rand()函数-1
- 7.4.2 线性反馈移位寄存器(LFSR)
- 7.4.2.1 由已知序列破译LFSR
- 7.4.2.2 攻破Linux glibc的rand()函数-2
- 7.4.3 RC4
- 7.5 公钥密码
- 7.5.1 公钥密码简介
- 7.5.2 RSA
- 7.5.2.1 RSA简介
- 7.5.2.2 RSA的常见攻击
- 7.5.3 离散对数相关密码学
- 7.5.3.1 ElGamal和ECC
- 7.5.3.2 离散对数的计算
- 7.6 其他常见密码学应用
- 7.6.1 Diffie-Hellman密钥交换
- 7.6.2 Hash长度扩展攻击
- 7.6.3 Shamir门限方案
- 小结
- 第8章 智能合约
- 8.1 智能合约概述
- 8.1.1 智能合约介绍
- 8.1.2 环境和工具
- 8.2 以太坊智能合约题目示例
- 8.2.1 “薅羊毛”
- 8.2.2 Remix的使用
- 8.2.3 深入理解以太坊区块链
- 小结
- 第9章 Misc
- 9.1 隐写术
- 9.1.1 直接附加
- 9.1.2 EXlF
- 9.1.3 LSB
- 9.1.4 盲水印
- 9.1.5 隐写术小结
- 9.2 压缩包加密
- 9.3 取证技术
- 9.3.1 流量分析
- 9.3.1.1 Wireshark和Tshark
- 9.3.1.2 流量分析常见操作
- 9.3.1.3 特殊种类的流量包分析
- 9.3.1.4 流量包分析小结
- 9.3.2 内存镜像取证
- 9.3.2.1 内存镜像取证介绍
- 9.3.2.2 内存镜像取证常见操作
- 9.3.2.3 内存镜像取证小结
- 9.3.3 磁盘镜像取证
- 9.3.3.1 磁盘镜像取证介绍
- 9.3.3.2 磁盘镜像取证常见操作
- 9.3.3.3 磁盘镜像取证小结
- 小结
- 第10章 代码审计
- 10.1 PHP代码审计
- 10.1.1 环境搭建
- 10.1.2 审计流程
- 10.1.3 案例
- 10.2 Java代码审计
- 10.2.1 学习经验
- 10.2.2 环境搭建
- 10.2.3 反编译工具
- 10.2.4 Servlet简介
- 10.2.5 Serializable简介
- 10.2.6 反序列化漏洞
- 10.2.6.1 漏洞概述
- 10.2.6.2 漏洞利用形式
- 10.2.7 表达式注入
- 10.2.7.1 表达式注入概述
- 10.2.7.2 表达式注入漏洞特征
- 10.2.7.3 表达式结构概述
- 10.2.7.5 S2-045简要分析
- 10.2.7.6 表达式注入小结
- 10.2.8 Java Web的漏洞利用方式
- 10.2.8.1 JNDI注入
- 10.2.8.2 反序列化利用工具ysoserial/marshalsec
- 10.2.8.3 Java Web漏洞利用方式小结
- 小结
- CTF之线下赛
- 第11章 AWD
- 11.1 比赛前期准备
- 11.2 比赛技巧
- 11.2.1 如何快速反应
- 11.2.2 如何优雅、持续地拿flag
- 11.2.3 优势和劣势
- 11.3 流量分析
- 11.4 漏洞修复
- 小结
- 第12章 靶场渗透
- 12.1 打造渗透环境
- 12.1.1 Linux下Metasploit的安装和使用
- 12.1.2 Linux下Nmap的安装和使用
- 12.1.3 Linux下Proxychains的安装和使用
- 12.1.4 Linux下Hydra的安装和使用
- 12.1.5 Windows下PentestBox的安装
- 12.1.6 Windows下Proxifier的安装
- 12.2 端口转发和代理
- 12.2.1 端口转发
- 12.2.2 Socks代理
- 12.3 常见漏洞利用方式
- 12.3.1 ms08-067
- 12.3.2 ms14-068
- 12.3.3 ms17-010
- 12.4 获取认证凭证
- 12.4.1 获取明文身份凭证
- 12.4.1.1 LSA Secrets
- 12.4.1.2 LSASS Process
- 12.4.1.3 LSASS Protection bypass
- 12.4.1.4 Credential Manager
- 12.4.1.5 在用户文件中寻找身份凭证Lazange
- 12.4.2 获取Hash身份凭证
- 12.4.2.1 通过SAM数据库获取本地用户Hash凭证
- 12.4.2.2 通过域控制器的NTDS.dit文件
- 12.5 横向移动
- 12.5.1 Hash传递
- 12.5.2 票据传递
- 12.5.2.1 Kerberos认证
- 12.5.2.2 金票据
- 12.5.2.3 银票据
- 12.6 靶场渗透案例
- 12.6.1 第13届CUlT校赛渗透题目
- 12.6.2 DefCon China靶场题
- 12.6.3 PWNHUB深入敌后
- 小结
- CTF之团队建设
- 第13章 我们的战队
- 13.1 无中生有,有生无穷
- 13.2 上下而求索
- 13.3 多面发展的Nu1L战队
- 13.3.1 承办比赛
- 13.3.2 空指针社区
- 13.3.3 安全会议演讲
- 13.4 人生的选择
- 13.5 战队队长的话
- 小结
- 封底
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。