×
安全技术大系CTF竞赛权威指南(Pwn篇)

安全技术大系CTF竞赛权威指南(Pwn篇)

1星价 ¥90.4 (6.5折)
2星价¥90.4 定价¥139.0
暂无评论
图文详情
  • ISBN:9787121399527
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:其他
  • 页数:726
  • 出版时间:2020-12-01
  • 条形码:9787121399527 ; 978-7-121-39952-7

本书特色

适读人群 :信息安全领域从业人员,对CTF比赛感兴趣的人Pwn被认为是CTF竞赛中体现技术实力的关键部分、也是zui难的部分。市面上虽已有相关的CTF书籍,但并无一本专注于此!《CTF竞赛权威指南(Pwn篇)》填补了这一空白。为读者透彻理解相关安全技术打开了一扇大门。 本书利用历届CTF真题,以x86/x64平台下Linux系统中的Pwn样题为例,讲述漏洞利用的基本方法和技巧。由于Linux系统本身就是一个开源系统,相关文档也比较齐全,因此,在这个平台上容易把问题讲透。把基本功练扎实了,再去学习其他平台上的漏洞利用技术,必将起到事半而功倍的效果。此外,当前被广泛使用的Android等操作系统本身就是Linux系统的变种,相关技术也很容易移植到这些系统的漏洞发掘利用中去。

内容简介

本书专注于Linux二进制安全。全书包含12章,从二进制底层开始,结合源码详细分析了常见的二进制安全漏洞、缓解机制以及漏洞利用方法,并辅以分析工具和环境搭建的讲解。本书在素材的选择上较为连续、完整,每个知识点均配以经典例题,并花费了大量篇幅深入讲解,以优选程度地还原分析思路和解题过程。读者接近可以依据本书自主、系统性地学习,达到举一反三的效果。本书主要面向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.2CTF经验8

1.3.3对安全从业者的建议8

第2章二进制文件

2.1从源代码到可执行文件11

2.1.1编译原理11

2.1.2GCC编译过程12

2.1.3预处理阶段13

2.1.4编译阶段14

2.1.5汇编阶段15

2.1.6链接阶段15

2.2ELF文件格式16

2.2.1ELF文件的类型16

2.2.2ELF文件的结构18

2.2.3可执行文件的装载24

2.3静态链接26

2.3.1地址空间分配26

2.3.2静态链接的详细过程27

2.3.3静态链接库29

2.4动态链接30

2.4.1什么是动态链接30

2.4.2位置无关代码31

2.4.3延迟绑定32

第3章汇编基础

3.1CPU架构与指令集34

3.1.1指令集架构34

3.1.2CISC与RISC对比35

3.2x86/x64汇编基础36

3.2.1CPU操作模式36

3.2.2语法风格36

3.2.3寄存器与数据类型37

3.2.4数据传送与访问38

3.2.5算术运算与逻辑运算39

3.2.6跳转指令与循环指令40

3.2.7栈与函数调用41

第4章Linux安全机制

4.1Linux基础45

4.1.1常用命令45

4.1.2流、管道和重定向46

4.1.3根目录结构47

4.1.4用户组及文件权限47

4.1.5环境变量49

4.1.6procfs文件系统51

4.1.7字节序52

4.1.8调用约定53

4.1.9核心转储54

4.1.10系统调用55

4.2StackCanaries58

4.2.1简介58

4.2.2实现61

4.2.3NJCTF2017:messager63

4.2.4sixstarsCTF2018:babystack65

4.3No-eXecute69

4.3.1简介69

4.3.2实现70

4.3.3示例73

4.4ASLR和PIE75

4.4.1ASLR75

4.4.2PIE76

4.4.3实现77

4.4.4示例79

4.5FORTIFY_SOURCE83

4.5.1简介83

4.5.2实现84

4.5.3示例86

4.5.4安全性89

4.6RELRO90

4.6.1简介90

4.6.2示例90

4.6.3实现93

第5章分析环境搭建

5.1虚拟机环境96

5.1.1虚拟化与虚拟机管理程序96

5.1.2安装虚拟机97

5.1.3编译debug版本的glibc98

5.2Docker环境100

5.2.1容器与Docker100

5.2.2Docker安装及使用101

5.2.3Pwn题目部署102


第6章分析工具

6.1IDAPro104

6.1.1简介104

6.1.2基本操作105

6.1.3远程调试108

6.1.4IDAPython110

6.1.5常用插件114

6.2Radare2115

6.2.1简介及安装115

6.2.2框架组成及交互方式115

6.2.3命令行工具118

6.2.4r2命令122

6.3GDB125

6.3.1组成架构125

6.3.2工作原理125

6.3.3基本操作127

6.3.4增强工具130

6.4其他常用工具132

6.4.1dd133

6.4.2file133

6.4.3ldd134

6.4.4objdump134

6.4.5readelf135

6.4.6socat136

6.4.7strace<race136

6.4.8strip137

6.4.9strings138

6.4.10xxd138


第7章漏洞利用开发

7.1shellcode开发141

7.1.1shellcode的基本原理141

7.1.2编写简单的shellcode141

7.1.3shellcode变形143

7.2Pwntools145

7.2.1简介及安装145

7.2.2常用模块和函数145

7.3zio152

7.3.1简介及安装152

7.3.2使用方法153


第8章整数安全

8.1计算机中的整数156

8.2整数安全漏洞157

8.2.1整数溢出157

8.2.2漏洞多发函数158

8.2.3整数溢出示例159


第9章格式化字符串

9.1格式化输出函数162

9.1.1变参函数162

9.1.2格式转换162

9.2格式化字符串漏洞164

9.2.1基本原理164

9.2.2漏洞利用166

9.2.3fmtstr模块174

9.2.4HITCONCMT2017:pwn200176

9.2.5NJCTF2017:pingme178


第10章栈溢出与ROP

10.1栈溢出原理183

10.1.1函数调用栈183

10.1.2危险函数186

10.1.3ret2libc186

10.2返回导向编程187

10.2.1ROP简介187

10.2.2ROP的变种189

10.2.3示例191

10.3BlindROP192

10.3.1BROP原理192

10.3.2HCTF2016:brop193

10.4SROP200

10.4.1SROP原理200

10.4.2pwntoolssrop模块204

10.4.3BackdoorCTF2017:FunSignals204

10.5stackpivoting206

10.5.1stackpivoting原理206

10.5.2GreHackCTF2017:beerfighter209

10.6ret2dl-resolve213

10.6.1ret2dl-resolve原理213

10.6.2XDCTF2015:pwn200217


第11章堆利用

11.1glibc堆概述224

11.1.1内存管理与堆224

11.1.2重要概念和结构体226

11.1.3各类bin介绍229

11.1.4chunk相关源码231

11.1.5bin相关源码235

11.1.6malloc_consolidate()函数237

11.1.7malloc()相关源码239

11.1.8free()相关源码248

11.2TCache机制251

11.2.1数据结构251

11.2.2使用方法252

11.2.3安全性分析255

11.2.4HITBCTF2018:gundam257

11.2.5BCTF2018:HouseofAtum263

11.3fastbin二次释放268

11.3.1fastbindup268

11.3.2fastbindupconsolidate273

11.3.30CTF2017:babyheap275

11.4houseofspirit283

11.4.1示例程序284

11.4.2LCTF2016:pwn200287

11.5不安全的unlink291

11.5.1unsafeunlink292

11.5.2HITCONCTF2016:SecretHolder295

11.5.3HITCONCTF2016:SleepyHolder303

11.6off-by-one307

11.6.1off-by-one307

11.6.2poisonnullbyte310

11.6.3ASISCTF2016:b00ks313

11.6.4PlaidCTF2015:PlaidDB320

11.7houseofeinherjar325

11.7.1示例程序325

11.7.2SECCONCTF2016:tinypad328

11.8overlappingchunks336

11.8.1扩展被释放块336

11.8.2扩展已分配块339

11.8.3hack.luCTF2015:bookstore342

11.8.40CTF2018:babyheap349

11.9houseofforce353

11.9.1示例程序353

11.9.2BCTF2016:bcloud356

11.10unsortedbin与largebin攻击363

11.10.1unsortedbinintostack363

11.10.2unsortedbinattack367

11.10.3largebin攻击370

11.10.40CTF2018:heapstorm2374


第12章Pwn技巧

12.1one-gadget383

12.1.1寻找one-gadget383

12.1.2ASISCTFQuals2017:Starthard385

12.2通用gadget及Return-to-csu388

12.2.1Linux程序的启动过程388

12.2.2Return-to-csu390

12.2.3LCTF2016:pwn100392

12.3劫持hook函数395

12.3.1内存分配hook396

12.3.20CTF2017-babyheap397

12.4利用DynELF泄露函数地址401

12.4.1DynELF模块401

12.4.2DynELF原理402

12.4.3XDCTF2015:pwn200403

12.4.4其他泄露函数406

12.5SSPLeak409

12.5.1SSP409

12.5.2__stack_chk_fail()411

12.5.332C3CTF2015:readme412

12.5.434C3CTF2017:readme_revenge416

12.6利用environ泄露栈地址422

12.7利用_IO_FILE结构429

12.7.1FILE结构体429

12.7.2FSOP431

12.7.3FSOP(libc-2.24版本)433

12.7.4HITCONCTF2016:HouseofOrange438

12.7.5HCTF2017:babyprintf445

12.8利用vsyscall449

12.8.1vsyscall和vDSO449

12.8.2HITBCTF2017:1000levels451


展开全部

作者简介

杨超,毕业于西安电子科技大学,L-Team成员。目前就职于中国汽研北京分院,从事车联网安全研究和工具开发工作。曾任职于海康威视、斗象科技。活跃在开源社区, GitHub:firmianay。 腾讯eee战队,腾讯安全2016年成立的一支具有国际先进技术实战能力的CTF战队。战队核心成员均来自腾讯安全科恩实验室,导师由腾讯安全科恩实验室负责人、国际著名网络安全专家吴石担任。 目前,战队成员已连续4年参与征战DEFCON决赛,并在HITCON、PlaidCTF、SECCON等世界顶级安全赛事中,不断刷新战队历史*好成绩,为国际间的技术交流与人才培养奠定基础。同时,战队还积极参与国内赛事演练,并在2018年连续荣膺中国网络安全三大国赛——“强网杯”“网鼎杯”和“护网杯”赛事冠军,成为**个实现国赛大满贯的战队;2019年,战队再度蝉联“强网杯”线上、线下赛冠军。2020年,战队获得第四届“强网杯”亚军。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航