CTF竞赛权威指南杨超腾讯eee战队亲自指导悟透各类漏洞利用技术深入掌握Cpdf下载pdf下载

CTF竞赛权威指南百度网盘pdf下载

作者:
简介:本篇主要提供CTF竞赛权威指南杨超腾讯eee战队亲自指导悟透各类漏洞利用技术深入掌握Cpdf下载
出版社:恒久图书专营店
出版时间:2020-12
pdf下载价格:9.00¥


预览


内容介绍



商品参数

CTF竞赛权#威指南(Pwn篇)
            定价 139.00
出版社 电子工业出版社
版次 1
出版时间 2020年12月
开本 16
作者
页数 726
字数 725
ISBN编码 9787121399527
重量 0


内容介绍

本书专注于Linux二进制安全。全书包含12章,从二进制底层开始,结合源码详细分析了常见的二进制安全漏洞、缓解机制以及漏洞利用方法,并辅以分析工具和环境搭建的讲解。包括二进制文件基本知识、汇编基础、Linux安全机制、分析环境搭建及其工具、漏洞利用开发、整数安全、格式化字符串、栈溢出与ROP, 堆利用与Pwn技巧。 本书在素材的选择上较为连续、完整,每个知识点均配以经典例题,并花费了大量篇幅深入讲解,以#大程度地还原分析思路和解题过程。读者完全可以依据本书自主、系统性地学习,达到举一反三的效果。 本书主要面向CTF初学者,也适合对CTF感兴趣的人群学习。



作者介绍

杨超,毕业于西安电子科技大学,L-Team成员。目前就职于中国汽研北京分院,从事车联网安全研究和工具开发。曾在海康威视、斗象科技工作过。活跃在开源社区。



关联推荐

编辑推荐

Pwn被认为是CTF竞赛中体现技术实力的关键部分、也是ZUl难的部分。市面上虽已有相关的CTF书籍,但并无一本专注于此!《CTF竞赛权#威指南(Pwn篇)》填补了这一空白。为读者透彻理解相关安全技术打开了一扇大门。

本书利用历届CTF真题,以x86/x64ping台下Linux系统中的Pwn样题为例,讲述漏洞利用的基本方法和技巧。由于Linux系统本身就是一个开源系统,相关文档也比较齐全,因此,在这个ping台上容易把问题讲透。把基本功练扎实了,再去学习其他ping台上的漏洞利用技术,必将起到事半而功倍的效果。此外,当前被广泛使用的Android等操作系统本身就是Linux系统的变种,相关技术也很容易移植到这些系统的漏洞发掘利用中去。



目录

第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.3N0-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

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