豆瓣高分
类型
9.5
豆瓣评分
可以朗读
语音朗读
187千字
字数
2021-01-01
发行日期
展开全部
主编推荐语
《Linux二进制安全全攻略》深入解析漏洞利用
内容简介
本书专注于Linux二进制安全。全书包含12章,从二进制底层开始,结合源码详细分析了常见的二进制安全漏洞、缓解机制以及漏洞利用方法,并辅以分析工具和环境搭建的讲解。包括二进制文件基本知识、汇编基础、Linux安全机制、分析环境搭建及其工具、漏洞利用开发、整数安全、格式化字符串、栈溢出与ROP,堆利用与Pwn技巧。本书在素材的选择上较为连续、完整,每个知识点均配以经典例题,并花费了大量篇幅深入讲解,以最大程度地还原分析思路和解题过程。读者完全可以依据本书自主、系统性地学习,达到举一反三的效果。本书主要面向CTF初学者,也适合对CTF感兴趣的人群学习。
目录
- 封面
- 前折页
- 版权信息
- 内容简介
- 推荐序
- 序
- 第1章 CTF简介
- 1.1 赛事介绍
- 1.1.1 赛事起源
- 1.1.2 竞赛模式
- 1.1.3 竞赛内容
- 1.2 知名赛事及会议
- 1.2.1 网络安全竞赛
- 1.2.2 网络安全会议
- 1.2.3 网络安全学术会议
- 1.3 学习经验
- 1.3.1 二进制安全入门
- 1.3.2 CTF经验
- 1.3.3 对安全从业者的建议
- 参考资料
- 第2章 二进制文件
- 2.1 从源代码到可执行文件
- 2.1.1 编译原理
- 2.1.2 GCC编译过程
- 2.1.3 预处理阶段
- 2.1.4 编译阶段
- 2.1.5 汇编阶段
- 2.1.6 链接阶段
- 2.2 ELF文件格式
- 2.2.1 ELF文件的类型
- 2.2.2 ELF文件的结构
- 2.2.3 可执行文件的装载
- 2.3 静态链接
- 2.3.1 地址空间分配
- 2.3.2 静态链接的详细过程
- 2.3.3 静态链接库
- 2.4 动态链接
- 2.4.1 什么是动态链接
- 2.4.2 位置无关代码
- 2.4.3 延迟绑定
- 参考资料
- 第3章 汇编基础
- 3.1 CPU架构与指令集
- 3.1.1 指令集架构
- 3.1.2 CISC与RISC对比
- 3.2 x86/x64汇编基础
- 3.2.1 CPU操作模式
- 3.2.2 语法风格
- 3.2.3 寄存器与数据类型
- 3.2.4 数据传送与访问
- 3.2.5 算术运算与逻辑运算
- 3.2.6 跳转指令与循环指令
- 3.2.7 栈与函数调用
- 参考资料
- 第4章 Linux安全机制
- 4.1 Linux基础
- 4.1.1 常用命令
- 4.1.2 流、管道和重定向
- 4.1.3 根目录结构
- 4.1.4 用户组及文件权限
- 4.1.5 环境变量
- 4.1.6 procfs文件系统
- 4.1.7 字节序
- 4.1.8 调用约定
- 4.1.9 核心转储
- 4.1.10 系统调用
- 4.2 Stack Canaries
- 4.2.1 简介
- 4.2.2 实现
- 4.2.3 NJCTF 2017:messager
- 4.2.4 sixstars CTF 2018:babystack
- 4.3 No-eXecute
- 4.3.1 简介
- 4.3.2 实现
- 4.3.3 示例
- 4.4 ASLR和PIE
- 4.4.1 ASLR
- 4.4.2 PIE
- 4.4.3 实现
- 4.4.4 示例
- 4.5 FORTIFY_SOURCE
- 4.5.1 简介
- 4.5.2 实现
- 4.5.3 示例
- 4.5.4 安全性
- 4.6 RELRO
- 4.6.1 简介
- 4.6.2 示例
- 4.6.3 实现
- 参考资料
- 第5章 分析环境搭建
- 5.1 虚拟机环境
- 5.1.1 虚拟化与虚拟机管理程序
- 5.1.2 安装虚拟机
- 5.1.3 编译debug版本的glibc
- 5.2 Docker环境
- 5.2.1 容器与Docker
- 5.2.2 Docker安装及使用
- 5.2.3 Pwn题目部署
- 参考资料
- 第6章 分析工具
- 6.1 IDA Pro
- 6.1.1 简介
- 6.1.2 基本操作
- 6.1.3 远程调试
- 6.1.4 IDAPython
- 6.1.5 常用插件
- 6.2 Radare2
- 6.2.1 简介及安装
- 6.2.2 框架组成及交互方式
- 6.2.3 命令行工具
- 6.2.4 r2命令
- 6.3 GDB
- 6.3.1 组成架构
- 6.3.2 工作原理
- 6.3.3 基本操作
- 6.3.4 增强工具
- 6.4 其他常用工具
- 6.4.1 dd
- 6.4.2 file
- 6.4.3 ldd
- 6.4.4 objdump
- 6.4.5 readelf
- 6.4.6 socat
- 6.4.7 strace<race
- 6.4.8 strip
- 6.4.9 strings
- 6.4.10 xxd
- 参考资料
- 第7章 漏洞利用开发
- 7.1 shellcode开发
- 7.1.1 shellcode的基本原理
- 7.1.2 编写简单的shellcode
- 7.1.3 shellcode变形
- 7.2 Pwntools
- 7.2.1 简介及安装
- 7.2.2 常用模块和函数
- 7.3 zio
- 7.3.1 简介及安装
- 7.3.2 使用方法
- 参考资料
- 第8章 整数安全
- 8.1 计算机中的整数
- 8.2 整数安全漏洞
- 8.2.1 整数溢出
- 8.2.2 漏洞多发函数
- 8.2.3 整数溢出示例
- 参考资料
- 第9章 格式化字符串
- 9.1 格式化输出函数
- 9.1.1 变参函数
- 9.1.2 格式转换
- 9.2 格式化字符串漏洞
- 9.2.1 基本原理
- 9.2.2 漏洞利用
- 9.2.3 fmtstr模块
- 9.2.4 HITCON CMT 2017:pwn200
- 9.2.5 NJCTF 2017:pingme
- 参考资料
- 第10章 栈溢出与ROP
- 10.1 栈溢出原理
- 10.1.1 函数调用栈
- 10.1.2 危险函数
- 10.1.3 ret2libc
- 10.2 返回导向编程
- 10.2.1 ROP简介
- 10.2.2 ROP的变种
- 10.2.3 示例
- 10.3 Blind ROP
- 10.3.1 BROP原理
- 10.3.2 HCTF 2016:brop
- 10.4 SROP
- 10.4.1 SROP原理
- 10.4.2 pwntools srop模块
- 10.4.3 Backdoor CTF 2017:Fun Signals
- 10.5 stack pivoting
- 10.5.1 stack pivoting原理
- 10.5.2 GreHack CTF 2017:beerfighter
- 10.6 ret2dl-resolve
- 10.6.1 ret2dl-resolve原理
- 10.6.2 XDCTF 2015:pwn200
- 参考资料
- 第11章 堆利用
- 11.1 glibc堆概述
- 11.1.1 内存管理与堆
- 11.1.2 重要概念和结构体
- 11.1.3 各类bin介绍
- 11.1.4 chunk相关源码
- 11.1.5 bin相关源码
- 11.1.6 malloc_consolidate()函数
- 11.1.7 malloc()相关源码
- 11.1.8 free()相关源码
- 11.2 TCache机制
- 11.2.1 数据结构
- 11.2.2 使用方法
- 11.2.3 安全性分析
- 11.2.4 HITB CTF 2018:gundam
- 11.2.5 BCTF 2018:House of Atum
- 11.3 fastbin二次释放
- 11.3.1 fastbin dup
- 11.3.2 fastbin dup consolidate
- 11.3.3 0CTF 2017:babyheap
- 11.4 house of spirit
- 11.4.1 示例程序
- 11.4.2 LCTF 2016:pwn200
- 11.5 不安全的unlink
- 11.5.1 unsafe unlink
- 11.5.2 HITCON CTF 2016:Secret Holder
- 11.5.3 HITCON CTF 2016:Sleepy Holder
- 11.6 off-by-one
- 11.6.1 off-by-one
- 11.6.2 poison null byte
- 11.6.3 ASIS CTF 2016:b00ks
- 11.6.4 Plaid CTF 2015:PlaidDB
- 11.7 house of einherjar
- 11.7.1 示例程序
- 11.7.2 SECCON CTF 2016:tinypad
- 11.8 overlapping chunks
- 11.8.1 扩展被释放块
- 11.8.2 扩展已分配块
- 11.8.3 hack.lu CTF 2015:bookstore
- 11.8.4 0CTF 2018:babyheap
- 11.9 house of force
- 11.9.1 示例程序
- 11.9.2 BCTF 2016:bcloud
- 11.10 unsorted bin与large bin攻击
- 11.10.1 unsorted bin into stack
- 11.10.2 unsorted bin attack
- 11.10.3 large bin攻击
- 11.10.4 0CTF 2018:heapstorm2
- 参考资料
- 第12章 Pwn技巧
- 12.1 one-gadget
- 12.1.1 寻找one-gadget
- 12.1.2 ASIS CTF Quals 2017:Start hard
- 12.2 通用gadget及Return-to-csu
- 12.2.1 Linux程序的启动过程
- 12.2.2 Return-to-csu
- 12.2.3 LCTF 2016:pwn100
- 12.3 劫持hook函数
- 12.3.1 内存分配hook
- 12.3.2 0CTF 2017 - babyheap
- 12.4 利用DynELF泄露函数地址
- 12.4.1 DynELF模块
- 12.4.2 DynELF原理
- 12.4.3 XDCTF 2015:pwn200
- 12.4.4 其他泄露函数
- 12.5 SSP Leak
- 12.5.1 SSP
- 12.5.2 __stack_chk_fail()
- 12.5.3 32C3 CTF 2015:readme
- 12.5.4 34C3 CTF 2017:readme_revenge
- 12.6 利用environ泄露栈地址
- 12.7 利用_IO_FILE结构
- 12.7.1 FILE结构体
- 12.7.2 FSOP
- 12.7.3 FSOP(libc-2.24版本)
- 12.7.4 HITCON CTF 2016:House of Orange
- 12.7.5 HCTF 2017:babyprintf
- 12.8 利用vsyscall
- 12.8.1 vsyscall和vDSO
- 12.8.2 HITB CTF 2017:1000levels
- 参考资料
- 后折页
- 封底
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。