展开全部

主编推荐语

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 战队队长的话
  • 小结
  • 封底
展开全部

评分及书评

评分不足
2个评分

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。