「抽奖赠书」CTF竞赛权威指南

「本次图书由电子工业出版社博文视点赞助」

前几天在“再聊CTF书籍”介绍过《CTF竞赛权威指南(Pwn篇)》一书,今天刚好从出版社那边要到5本书,全送大家。

下次有机会的话,我争取搞几本其它书籍给大家。

关注本公众号,点击下方的抽奖小程序参考即可,周日(3月14日)18点开奖。

你可以试着转发分享看能不能提高中奖率

此书之前已介绍过,如果你想了解更多信息,或者想自己购买,都可以点击下方的京东链接查看。

这里最后我就放个书籍目录,方便你们参考,相信懂的人自然懂。

附目录:

第1章  CTF简介1

1.1  赛事介绍1

1.1.1  赛事起源1

1.1.2  竞赛模式1

1.1.3  竞赛内容2

1.2  知名赛事及会议3

1.2.1  网络安全竞赛3

1.2.2  网络安全会议5

1.2.3  网络安全学术会议6

1.3  学习经验6

1.3.1  二进制安全入门6

1.3.2  CTF经验8

1.3.3  对安全从业者的建议8

参考资料10

第2章  二进制文件11

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

2.1.1  编译原理11

2.1.2  GCC编译过程12

2.1.3  预处理阶段13

2.1.4  编译阶段14

2.1.5  汇编阶段15

2.1.6  链接阶段15

2.2  ELF文件格式16

2.2.1  ELF文件的类型16

2.2.2  ELF文件的结构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

参考资料33

第3章  汇编基础34

3.1  CPU架构与指令集34

3.1.1  指令集架构34

3.1.2  CISC与RISC对比35

3.2  x86/x64汇编基础36

3.2.1  CPU操作模式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

参考资料44

第4章  Linux安全机制45

4.1  Linux基础45

4.1.1  常用命令45

4.1.2  流、管道和重定向46

4.1.3  根目录结构47

4.1.4  用户组及文件权限47

4.1.5  环境变量49

4.1.6  procfs文件系统51

4.1.7  字节序52

4.1.8  调用约定53

4.1.9  核心转储54

4.1.10  系统调用55

4.2  Stack Canaries58

4.2.1  简介58

4.2.2  实现61

4.2.3  NJCTF 2017:messager63

4.2.4  sixstars CTF 2018:babystack65

4.3  No-eXecute69

4.3.1  简介69

4.3.2  实现70

4.3.3  示例73

4.4  ASLR和PIE75

4.4.1  ASLR75

4.4.2  PIE76

4.4.3  实现77

4.4.4  示例79

4.5  FORTIFY_SOURCE83

4.5.1  简介83

4.5.2  实现84

4.5.3  示例86

4.5.4  安全性89

4.6  RELRO90

4.6.1  简介90

4.6.2  示例90

4.6.3  实现93

参考资料94

第5章  分析环境搭建96

5.1  虚拟机环境96

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

5.1.2  安装虚拟机97

5.1.3  编译debug版本的glibc98

5.2  Docker环境100

5.2.1  容器与Docker100

5.2.2  Docker安装及使用101

5.2.3  Pwn题目部署102

参考资料103

第6章  分析工具104

6.1  IDA Pro104

6.1.1  简介104

6.1.2  基本操作105

6.1.3  远程调试108

6.1.4  IDAPython110

6.1.5  常用插件114

6.2  Radare2115

6.2.1  简介及安装115

6.2.2  框架组成及交互方式115

6.2.3  命令行工具118

6.2.4  r2命令122

6.3  GDB125

6.3.1  组成架构125

6.3.2  工作原理125

6.3.3  基本操作127

6.3.4  增强工具130

6.4  其他常用工具132

6.4.1  dd133

6.4.2  file133

6.4.3  ldd134

6.4.4  objdump134

6.4.5  readelf135

6.4.6  socat136

6.4.7  strace&ltrace136

6.4.8  strip137

6.4.9  strings138

6.4.10  xxd138

参考资料139

第7章  漏洞利用开发141

7.1  shellcode开发141

7.1.1  shellcode的基本原理141

7.1.2  编写简单的shellcode141

7.1.3  shellcode变形143

7.2  Pwntools145

7.2.1  简介及安装145

7.2.2  常用模块和函数145

7.3  zio152

7.3.1  简介及安装152

7.3.2  使用方法153

参考资料155

第8章  整数安全156

8.1  计算机中的整数156

8.2  整数安全漏洞157

8.2.1  整数溢出157

8.2.2  漏洞多发函数158

8.2.3  整数溢出示例159

参考资料161

第9章  格式化字符串162

9.1  格式化输出函数162

9.1.1  变参函数162

9.1.2  格式转换162

9.2  格式化字符串漏洞164

9.2.1  基本原理164

9.2.2  漏洞利用166

9.2.3  fmtstr模块174

9.2.4  HITCON CMT 2017:pwn200176

9.2.5  NJCTF 2017:pingme178

参考资料182

第10章  栈溢出与ROP183

10.1  栈溢出原理183

10.1.1  函数调用栈183

10.1.2  危险函数186

10.1.3  ret2libc186

10.2  返回导向编程187

10.2.1  ROP简介187

10.2.2  ROP的变种189

10.2.3  示例191

10.3  Blind ROP192

10.3.1  BROP原理192

10.3.2  HCTF 2016:brop193

10.4  SROP200

10.4.1  SROP原理200

10.4.2  pwntools srop模块204

10.4.3  Backdoor CTF 2017:Fun Signals204

10.5  stack pivoting206

10.5.1  stack pivoting原理206

10.5.2  GreHack CTF 2017:beerfighter209

10.6  ret2dl-resolve213

10.6.1  ret2dl-resolve原理213

10.6.2  XDCTF 2015:pwn200217

参考资料222

第11章  堆利用224

11.1  glibc堆概述224

11.1.1  内存管理与堆224

11.1.2  重要概念和结构体226

11.1.3  各类bin介绍229

11.1.4  chunk相关源码231

11.1.5  bin相关源码235

11.1.6  malloc_consolidate()函数237

11.1.7  malloc()相关源码239

11.1.8  free()相关源码248

11.2  TCache机制251

11.2.1  数据结构251

11.2.2  使用方法252

11.2.3  安全性分析255

11.2.4  HITB CTF 2018:gundam257

11.2.5  BCTF 2018:House of Atum263

11.3  fastbin二次释放268

11.3.1  fastbin dup268

11.3.2  fastbin dup consolidate273

11.3.3  0CTF 2017:babyheap275

11.4  house of spirit283

11.4.1  示例程序284

11.4.2  LCTF 2016:pwn200287

11.5  不安全的unlink291

11.5.1  unsafe unlink292

11.5.2  HITCON CTF 2016:Secret Holder295

11.5.3  HITCON CTF 2016:Sleepy Holder303

11.6  off-by-one307

11.6.1  off-by-one307

11.6.2  poison null byte310

11.6.3  ASIS CTF 2016:b00ks313

11.6.4  Plaid CTF 2015:PlaidDB320

11.7  house of einherjar325

11.7.1  示例程序325

11.7.2  SECCON CTF 2016:tinypad328

11.8  overlapping chunks336

11.8.1  扩展被释放块336

11.8.2  扩展已分配块339

11.8.3  hack.lu CTF 2015:bookstore342

11.8.4  0CTF 2018:babyheap349

11.9  house of force353

11.9.1  示例程序353

11.9.2  BCTF 2016:bcloud356

11.10  unsorted bin与large bin攻击363

11.10.1  unsorted bin into stack363

11.10.2  unsorted bin attack367

11.10.3  large bin攻击370

11.10.4  0CTF 2018:heapstorm2374

参考资料381

第12章  Pwn技巧383

12.1  one-gadget383

12.1.1  寻找one-gadget383

12.1.2  ASIS CTF Quals 2017:Start hard385

12.2  通用gadget及Return-to-csu388

12.2.1  Linux程序的启动过程388

12.2.2  Return-to-csu390

12.2.3  LCTF 2016:pwn100392

12.3  劫持hook函数395

12.3.1  内存分配hook396

12.3.2  0CTF 2017 - babyheap397

12.4  利用DynELF泄露函数地址401

12.4.1  DynELF模块401

12.4.2  DynELF原理402

12.4.3  XDCTF 2015:pwn200403

12.4.4  其他泄露函数406

12.5  SSP Leak409

12.5.1  SSP409

12.5.2  __stack_chk_fail()411

12.5.3  32C3 CTF 2015:readme412

12.5.4  34C3 CTF 2017:readme_revenge416

12.6  利用environ泄露栈地址422

12.7  利用_IO_FILE结构429

12.7.1  FILE结构体429

12.7.2  FSOP431

12.7.3  FSOP(libc-2.24版本)433

12.7.4  HITCON CTF 2016:House of Orange438

12.7.5  HCTF 2017:babyprintf445

12.8  利用vsyscall449

12.8.1  vsyscall和vDSO449

12.8.2  HITB CTF 2017:1000levels451

参考资料456

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值