展开全部

主编推荐语

《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&ltrace
  • 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
  • 参考资料
  • 后折页
  • 封底
展开全部

评分及书评

评分不足
2个评分

出版方

电子工业出版社

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