计算机
类型
可以朗读
语音朗读
452千字
字数
2023-06-01
发行日期
展开全部
主编推荐语
系统介绍CTF相关的知识。
内容简介
本书创新性的提出新的CTF知识学习框架,按照安全杂项入门、隐写术、Web渗透、密码学基础、软件逆向工程、二进制程序漏洞利用(PWN)的顺序构建知识体系,每节附有大量实操练习,即使是完全没有网络安全基础的“新人”,也能对照书中操作,独立复现实验内容。
目录
- 版权信息
- 前言
- 第0章 开启CTF之旅
- 0.0 CTF比赛的历史
- 0.1 CTF比赛的常见赛制
- 0.2 国内外知名的CTF比赛
- 0.3 国内外知名的CTF战队
- 0.4 学习前的实验环境准备
- 0.4.0 虚拟机运行软件
- 0.4.1 搭建Python脚本运行环境
- 0.4.2 搭建Docker使用环境
- 第1章 安全杂项
- 1.0 安全杂项类赛题简介
- 1.1 常见的编码与解码
- 1.1.0 ASCII编码
- 1.1.1 Base64编码
- 1.1.2 Base32编码
- 1.1.3 Base16编码
- 1.1.4 其他Base系列编码
- 1.1.5 Shellcode编码
- 1.1.6 Quoted-printable编码
- 1.1.7 UUencode编码
- 1.1.8 XXencode编码
- 1.1.9 URL编码
- 1.1.10 摩斯码
- 1.1.11 JSFuck编码
- 1.1.12 Brainfuck编码
- 1.1.13 编码类题目的通用解题方法
- 1.2 网络流量分析
- 1.2.0 网络协议的基础知识
- 1.2.1 Wireshark的基本使用方法
- 1.2.2 CTF流量分析的通用方法
- 1.2.3 ICMP
- 1.2.4 Telnet
- 1.2.5 FTP
- 1.2.6 DNS
- 1.2.7 HTTP
- 1.2.8 USB
- 1.2.9 TLS
- 1.2.10 IEEE 802.11
- 1.3 日志分析
- 1.3.0 Web日志及分析方法
- 1.3.1 系统设备日志及分析方法
- 1.4 电子取证分析
- 1.4.0 电子取证的常用技术
- 1.4.1 文件恢复
- 1.4.2 磁盘取证分析方法
- 1.4.3 内存取证分析方法
- 1.5 压缩文件格式与破解
- 1.5.0 ZIP压缩包格式
- 1.5.1 伪加密
- 1.5.2 压缩包密码爆破
- 1.5.3 CRC碰撞破解压缩包
- 1.5.4 已知明文攻击
- 1.6 信息搜集与搜索引擎的高级用法
- 1.6.0 信息搜集方法
- 1.6.1 搜索引擎的高级用法
- 第2章 安全杂项
- 2.0 隐写术简介
- 2.1 图像隐写方法及信息提取
- 2.1.0 常见的图像隐写方法
- 2.1.1 PNG文件格式及隐写方法
- 2.1.2 JPG文件格式及隐写方法
- 2.1.3 GIF文件格式及隐写方法
- 2.1.4 图像隐写三板斧
- 2.1.5 图像隐写三板斧2.0
- 2.1.6 图像和像素值的转换
- 2.2 音频隐写方法及信息提取
- 2.2.0 常见的音频文件格式解析
- 2.2.1 基于波形图的隐写
- 2.2.2 基于频谱图的隐写
- 2.2.3 音频LSB隐写
- 2.2.4 MP3文件隐写
- 2.2.5 拨号音识别
- 2.2.6 音频隐写总结
- 2.3 视频隐写方法及信息提取
- 2.4 文本隐写方法及信息提取
- 2.4.0 基于文本内容的隐写
- 2.4.1 基于Word文档的隐写
- 2.4.2 基于PDF文档的隐写
- 2.5 二维码
- 2.5.0 QR码的基础知识和常用工具
- 2.5.1 QR码画图
- 2.5.2 QR码修复
- 第3章 密码学基础
- 3.0 密码学简介
- 3.1 古典密码
- 3.1.0 栅栏密码
- 3.1.1 凯撒密码
- 3.1.2 ROT位移密码
- 3.1.3 Atbash密码
- 3.1.4 猪圈密码
- 3.1.5 培根密码
- 3.1.6 简单替换密码
- 3.1.7 仿射密码
- 3.1.8 单表代换密码总结
- 3.1.9 多表代换密码
- 3.1.10 维吉尼亚密码
- 3.1.11 希尔密码
- 3.2 对称密码
- 3.2.0 对称密码的基本模型
- 3.2.1 流密码和分组密码的本质区别
- 3.2.2 xor密码
- 3.2.3 RC4
- 3.2.4 Feistel密码结构
- 3.2.5 DES
- 3.2.6 AES
- 3.2.7 填充
- 3.2.8 分组模式
- 3.3 非对称密码
- 3.3.0 RSA基础
- 3.3.1 模数N相关攻击
- 3.3.2 指数e相关攻击
- 3.3.3 私钥d相关攻击
- 3.3.4 广播攻击
- 3.3.5 ECC基础
- 3.3.6 ECC加密
- 3.3.7 Pohlig_Hellman攻击
- 3.3.8 Smarts攻击
- 3.4 哈希函数
- 3.4.0 哈希函数的基本模型
- 3.4.1 MD5
- 3.4.2 哈希长度扩展攻击
- 第4章 Web渗透基础
- 4.0 引言
- 4.0.0 概述
- 4.0.1 HTTP理论基础
- 4.0.2 环境搭建与工具使用
- 4.1 Web信息收集的技巧
- 4.1.0 端口扫描
- 4.1.1 目录探测
- 4.1.2 指纹识别
- 4.2 暴力破解
- 4.2.0 用户名/密码爆破
- 4.2.1 参数爆破
- 4.2.2 密钥爆破
- 4.2.3 随机数爆破
- 4.2.4 字典
- 4.3 PHP弱类型
- 4.3.0 PHP代码基础
- 4.3.1 PHP弱类型问题
- 4.4 上传漏洞
- 4.4.0 前端JavaScript绕过
- 4.4.1 MIME-Type绕过
- 4.4.2 黑名单绕过
- 4.4.3 .htaccess绕过
- 4.4.4 后缀名绕过
- 4.4.5 图片马
- 4.4.6 其他类型的问题
- 4.5 SQL注入漏洞
- 4.5.0 SQL注入
- 4.5.1 SQL注入漏洞的分类
- 4.5.2 SQL注入漏洞实战
- 4.5.3 SQLmap
- 4.5.4 宽字节注入
- 4.5.5 WAF绕过
- 4.5.6 利用SQL注入读写文件
- 4.5.7 报错注入
- 4.6 文件包含
- 4.6.0 php://filter进阶
- 4.6.1 文件包含的分类
- 4.6.2 文件包含中的截断和phar://
- 4.7 命令执行
- 4.7.0 危险函数
- 4.7.1 无参数RCE
- 4.8 CSRF与XSS
- 4.8.0 CSRF
- 4.8.1 CSRF防御
- 4.8.2 XSS
- 4.9 SSRF
- 第5章 软件逆向工程
- 5.0 软件逆向工程简介
- 5.0.0 软件是怎么生成的
- 5.0.1 软件逆向工程的定义及目标
- 5.0.2 软件逆向工程的发展历史
- 5.1 CTF软件逆向工程入门
- 5.1.0 逆向题目的特点
- 5.1.1 逆向真经
- 5.2 静态分析方法
- 5.2.0 静态分析的原理和技巧
- 5.2.1 静态分析的常用工具
- 5.2.2 静态分析实战
- 5.3 动态分析方法
- 5.3.0 动态调试的技巧
- 5.3.1 汇编
- 5.3.2 使用OllyDbg进行动态调试
- 5.3.3 使用GDB进行动态调试
- 5.3.4 使用IDA进行本地动态调试
- 5.3.5 使用IDA进行远程动态调试
- 第6章 进入PWN的世界
- 6.0 PWN简介
- 6.1 CTF中的PWN
- 6.2 栈溢出入门
- 6.2.0 认识栈结构
- 6.2.1 函数调用过程分析
- 6.2.2 Linux操作系统的基本保护机制
- 6.2.3 覆盖返回地址
- 6.2.4 覆盖返回地址到Shellcode
- 6.2.5 编写单个函数的ROP链
- 6.2.6 编写两个函数的ROP链
- 6.2.7 编写多个函数的ROP链
- 6.2.8 ret2syscall
- 6.2.9 用动态链接动态泄露system地址并利用
- 6.2.10 64位程序的栈溢出
- 6.2.11 未知远程libc的解法
- 6.3 格式化字符串
- 6.3.0 格式化字符串的原理
- 6.3.1 格式化字符串漏洞的利用
- 6.3.2 通过格式化字符串漏洞泄露栈上内容
- 6.3.3 通过格式化字符串漏洞泄露任意地址内存
- 6.3.4 通过格式化字符串漏洞覆盖任意地址内存
- 6.3.5 64位格式化字符串
- 6.3.6 格式化字符串的综合利用
- 6.4 栈溢出进阶技术
- 6.4.0 栈劫持
- 6.4.1 ropchain
- 6.4.2 Canary保护机制及其利用方式
- 6.4.3 __libc_csu_init的利用方式
- 6.4.4 ret2_dl_runtime_resolve
- 6.5 栈溢出和格式化字符串总结
- 第7章 PWN进阶
- 7.0 堆管理器
- 7.0.0 ptmalloc堆管理器的基本功能
- 7.0.1 malloc和free简介
- 7.0.2 内存分配背后的系统调用
- 7.1 堆相关的数据结构
- 7.1.0 malloc_chunk
- 7.1.1 bin
- 7.1.2 fast bin
- 7.1.3 small bin
- 7.1.4 large bin
- 7.1.5 unsorted bin
- 7.1.6 bin的总结
- 7.2 malloc的基本算法
- 7.2.0 __libc_malloc
- 7.2.1 fast bin分配算法
- 7.2.2 small bin分配算法
- 7.2.3 large bin分配算法1
- 7.2.4 unsorted bin分配算法
- 7.2.5 large bin分配算法2
- 7.2.6 寻找更大的bin链
- 7.2.7 使用top chunk
- 7.2.8 总结
- 7.3 free函数的基本算法
- 7.4 堆利用的基本方法
- 7.4.0 House of Prime
- 7.4.1 House of Lore
- 7.4.2 House of Spirit
- 7.4.3 House of Force
- 7.4.4 House of系列方法总结
- 7.5 链表攻击
- 7.5.0 unlink
- 7.5.1 fast bin攻击
- 7.5.2 unsorted bin攻击
- 7.6 其他漏洞形式及其利用
- 7.6.0 off by one
- 7.6.1 off by null
- 7.6.2 fast bin三重释放攻击
- 7.7 例题讲解
- 7.8 tcache机制及其利用方式
- 7.8.0 tcache的重要数据结构与源码解读
- 7.8.1 tcache dup(glibc 2.27)
- 7.8.2 tcache双重释放(glibc 2.27)
- 7.8.3 tcache dup(glibc 2.29)
- 7.8.4 tcache双重释放(glibc 2.29)
- 7.8.5 tcache stash unlink(glibc 2.29)
- 7.8.6 tcache stash unlink plus(glibc 2.29)
- 7.8.7 tcache stash unlink plus plus(glibc 2.29)
- 7.8.8 large bin攻击1(glibc 2.29)
- 7.8.9 large bin攻击2(glibc 2.29)
- 7.8.10 tcache攻击(glibc 2.31)
- 7.8.11 堆利用总结
- 7.9 PWN中的打补丁技术
- 7.9.0 change data
- 7.9.1 add segement
- 7.9.2 compress instruction
- 7.9.3 add logic
- 7.9.4 打补丁技术总结
- 第8章 工业控制系统安全
- 8.0 工业控制系统概述
- 8.0.0 工业控制系统的定义
- 8.0.1 工业控制系统安全概述
- 8.0.2 工业控制系统的组成
- 8.0.3 工业控制系统的架构
- 8.1 工业控制系统编程
- 8.1.0 读懂梯形图
- 8.1.1 学会指令表
- 8.1.2 其他编程语言
- 8.1.3 常见工程文件汇总
- 8.2 工业控制系统通信协议
- 8.2.0 Modbus协议
- 8.2.1 西门子S7协议
- 8.2.2 其他工控协议
- 8.2.3 PLC漏洞利用
- 参考文献
展开全部
出版方
机械工业出版社
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。