书籍详情
《CTF特训营:技术详解、解题方法与竞赛技巧机械工业》[46M]百度网盘|亲测有效|pdf下载
  • CTF特训营:技术详解、解题方法与竞赛技巧机械工业

  • 出版社:书虫图书专营店
  • 出版时间:2020-06
  • 热度:7541
  • 上架时间:2024-06-30 09:08:33
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍



商品参数

CTF特训营:技术详解、解题方法与竞赛技巧

出版社: 机械工业出版社
定  价: 89
版  次: 1
出版日期: 2020年06月
开  本:
装  帧:
ISBN: 9787111657354


内容介绍

内容简介

本书由国内老牌CTF战队FlappyPig撰写,战队成员曾多次荣获XCTFguo际联赛guan军、TCTF/0CTFguan军、WCTF世界黑客大师挑战赛季军,多次入围Defcon全球总决赛,具有丰富的实战经验。

本书围绕CTF竞赛需要的安全技术、解题方法和竞赛技巧3个维度展开,旨在通过作者扎实的技术功底和丰富的竞赛经验,*领对CTF竞赛感兴趣的读者快速入门。书中依据CTF竞赛的特点,分别从Web、Reverse、PWN、Crypto、APK、IoT这六个方面系统地对CTF竞赛的知识点、模式、技巧进行了深入讲解,每一篇都搭配历年真题,帮助读者加深理解。

全书一共分六篇。

Web篇(第壹~8章)

主要讲解CTF比赛中Web类型题目的一些基础知识点与常用的工具和插件,这些知识点和工具也可以用于部分渗透测试的实战中。

Reverse篇(第9~10章)

主要对CTF中逆向分析的主要方法、常用分析工具、逆向分析技术和破解方法进行讲解,帮助读者提高逆向分析能力。 

PWN篇(第壹1~17章)

对PWN二进制漏洞挖掘利用的详细分析,主要讲解了针对各种漏洞的利用方法和利用技巧,作者可以结合实例题目加深理解。 

Crypto篇(第壹8~22章)

对Crypto类型题目的知识和例题讲解,主要从概述、编码、古典密码、现代密码以及真题解析几个方向进行叙述。

APK篇(第23~25章)

讲解CTF中的APK的相关内容,主要从APK的基础知识点、Dalvik层的逆向分析技术,以及Native层的逆向分析技术三个方面介绍APK题目的寄出内容、解题方法和竞赛技巧。

IoT篇(第26~30章)

对IoT类型题目的讲解,内容涉及IoT、无线通信的基础知识和相关题型的解题技巧,帮助大家培养解决IoT相关题目的能力。




目录

前 言

第壹篇 CTF之Web

第壹章 常用工具安装及使用  2

1.1 Burp Suite  2

1.2 Sqlmap  8

1.3 浏览器与插件  9

1.4 Nmap  11

第2章 SQL注入攻击  13

2.1 什么是SQL注入  13

2.2 可以联合查询的SQL注入  14

2.3 报错注入  14

2.4 Bool 盲注  16

2.5 时间盲注  17

2.6 二次注入  18

2.7 limit之后的注入  20

2.8 注入点的位置及发现  20

2.9 绕过  21

2.10 SQL读写文件  24

2.11 小结  24

第3章 跨站脚本攻击  25

3.1 概述  25

3.2 常见XSS漏洞分类  25

3.3 防护与绕过  29

3.4 危害与利用技巧  38

3.5 实例  40

第4章 服务端请求伪造  42

4.1 如何形成  42

4.2 防护绕过  43

4.3 危害与利用技巧  43

4.4 实例  46

第5章 利用特性进行攻击  48

5.1 PHP语言特性  48

5.1.1 弱类型48

5.1.2 反序列化漏洞49

5.1.3 截断51

5.1.4 伪协议51

5.1.5 变量覆盖52

5.1.6 防护绕过54

5.2 Windows系统特性  54

第6章 代码审计  56

6.1 源码泄露  56

6.2 代码审计的方法与技巧  61

第7章 条件竞争  67

7.1 概述  67

7.2 条件竞争问题分析及测试  68

第8章 案 例 解 析  73

8.1 NSCTF 2015 Web实例  73

8.2 湖湘杯2016线上选拔赛Web实例  75

8.3 0CTF 2017 Web实例  79

8.4 2019 WCTF 大师赛赛题剖析:P-door  80

本篇小结  87

第2篇 CTF之Reverse

第9章 Reverse 概述  90

9.1 逆向分析的主要方法  90

9.2 汇编指令体系结构  91

9.2.1 x86指令体系91

9.2.2 x64指令体系92

9.3 逆向分析工具介绍  93

9.3.1 反汇编和反编译工具93

9.3.2 调试器97

9.3.3 Trace类工具100

第壹0章 Reverse 分析  102

10.1 常规逆向分析流程  102

10.1.1 关键代码定位102

10.1.2 常见加密算法识别104

10.1.3 求解flag109

10.2 自动化逆向  113

10.2.1 IDAPython114

10.2.2 PythonGdb114

10.2.3 pydbg115

10.2.4 Angr115

10.3 干扰分析技术及破解方法  116

10.3.1 花指令116

10.3.2 反调试117

10.3.3 加壳119

10.3.4 控制流混淆121

10.3.5 双进程保护124

10.3.6 虚拟机保护127

10.4 脚本语言的逆向  132

10.4.1 .NET程序逆向132

10.4.2 Python程序逆向135

10.4.3 Java程序逆向137

本篇小结  139

第三篇 CTF之PWN

第壹1章 PWN 基础  142

11.1 基本工具  142

11.2 保护机制  143

11.3 PWN类型  143

11.4 常见利用方法  144

11.5 程序内存布局  149

11.6 真题解析  150

第壹2章 栈相关漏洞  166

12.1 栈介绍  166

12.1.1 函数栈的调用机制167

12.1.2 函数参数传递168

12.2 栈溢出  169

12.2.1 基本概念169

12.2.2 覆盖栈缓冲区的具体用途170

12.3 栈的特殊利用  177

12.4 栈喷射  177

12.5 线程栈  178

12.6 真题解析  184

12.6.1 {ZCTF-2015} guess(PWN100)184

12.6.2 {ZCTF-2015} spell (PWN300)187

12.6.3 {Codegate-2015} Chess(PWN700)189

12.6.4 {RCTF-2015} Welpwn(PWN200)196

第壹3章 堆相关漏洞  198

13.1 堆介绍  198

13.1.1 堆基本数据结构chunk198

13.1.2 堆空闲块管理结构bin200

13.1.3 malloc基本规则201

13.1.4 free基本规则201

13.1.5 tcache202

13.2 漏洞类型  204

13.3 利用方法  206

13.3.1 *基本的堆利用206

13.3.2 unlink208

13.3.3 fastbin attack211

13.3.4 forgotten chunk212

13.3.5 house of force217

13.3.6 house of spirit218

13.3.7 house of orange218

13.3.8 堆喷射224

13.3.9 更多堆利用技巧224

13.4 真题解析  225

第壹4章 格式化字符串漏洞  244

14.1 基本概念  244

14.2 信息泄露与修改  245

14.3 额外技巧  249

14.4 真题解析  254

14.4.1 {CCTF-2016} PWN3(PWN350)254

14.4.2 {RCTF-2015} nobug(PWN300)256

14.4.3 {LCTF-2016} PWN200258

第壹5章 整型漏洞  261

15.1 宽度溢出  261

15.2 符号转换  263

15.3 数组越界  264

15.4 真题解析  265

第壹6章 逻辑漏洞  269

16.1 基本概念  269

16.2 竞态条件漏洞  269

16.3 真题解析  271

第壹7章 Attack&Defense模式  273

17.1 修补方案  273

17.1.1 大小修改法273

17.1.2 函数替换法275

17.1.3 .eh_frame 段Patch法276

17.1.4 其他方法277

17.2 攻防策略  277

相关知识链接推荐  278

本篇小结  279

第四篇 CTF之Crypto

第壹8章 Crypto 概述  282

第壹9章 编码  284

19.1 hex  284

19.2 urlencode  286

19.3 morsecode  286

19.4 jsfuck  289

19.5 uuencode  291

19.6 base家族  291

第20章 古典密码  294

20.1 移位密码  294

20.1.1 简单移位密码  294

20.1.2 曲路密码  296

20.1.3 云影密码  296

20.1.4 栅栏密码  296

20.2 替代密码  298

20.2.1 单表替代密码  298

20.2.2 多表替代密码  303

第21章 现代密码  309

21.1 分组密码和序列密码  309

21.1.1 DES/AES基本加解密  309

21.1.2 分组密码CBC bit翻转攻击  310

21.1.3 分组密码CBC选择密文攻击  312

21.1.4 分组密码CBC padding oracle攻击   312

21.1.5 Feistel结构分析  313

21.1.6 攻击伪随机数发生器  314

21.2 公钥密码  319

21.2.1 RSA基础  319

21.2.2 直接模数分解  320

21.2.3 费马分解和Pollard_rho分解  322

21.2.4 公约数模数分解  325

21.2.5 其他模数分解方式  327

21.2.6 小指数明文bao破  329

21.2.7 选择密文攻击  330

21.2.8 LLL-attack  330

21.2.9 Wiener Attack & Boneh Durfee Attack  334

21.2.10 共模攻击  338

21.2.11 广播攻击  340

21.2.12 相关消息攻击  342

21.2.13 DSA  343

21.3 哈希  344

21.3.1 哈希碰撞  344

21.3.2 哈希长度扩展攻击  345

第22章 真题解析  348

22.1 SUPEREXPRESS  348

22.2 VIGENERE  350

22.3 Revolver  357

22.4 Railgun  362

本篇小结  365

第五篇 CTF之APK

第23章 APK基础  368

23.1 Android题目类型  368

23.2 Android基本架构  368

23.2.1 Android的Dalvik虚拟机  369

23.2.2 Native层  369

23.3 ARM架构基础知识  369

23.3.1 函数调用/跳转指令  370

23.3.2 出栈入栈指令  371

23.3.3 保存/恢复寄存器的值  371

23.4 adb  371

23.5 APK文件格式  372

第24章 Dalvik层逆向分析  373

24.1 Dalvik基础知识  373

24.1.1 寄存器  374

24.1.2 类型  374

24.1.3 方法  375

24.1.4 指令特点  375

24.2 静态分析  376

24.2.1 使用Apktool反编译APK程序  376

24.2.2 使用dex2jar生成jar文件  379

24.2.3 使用jd-gui查看反编译的Java代码  380

24.2.4 使用FernFlower反编译Jar文件  381

24.2.5 使用Android Killer / jadx / APK Studio逆向分析平台  381

24.2.6 使用JEB进行静态分析  388

24.2.7 其他的静态分析软件  393

24.3 动态调试  394

24.3.1 使用log调试  394

24.3.2 smali动态调试  396

24.3.3 使用Xposed框架Hook进程  400

24.3.4 使用Frida框架Hook进程  405

24.4 Dalvik层混淆及加固技术  409

24.4.1 ProGuard混淆  409

24.4.2 DEX破坏  409

24.4.3 APK伪加密  410

24.4.4 APK增加数据  410

24.4.5 DEX隐藏  410

第25章 Native层逆向  411

25.1 Native层介绍  411

25.1.1 正向—使用NDK编写Native层应用  411

25.1.2 JNI调用特征分析  413

25.2 使用IDA Pro静态分析  419

25.3 动态调试  423

25.3.1 使用IDA Pro进行动态调试  423

25.3.2 使用GDB进行动态调试  425

25.3.3 使用Frida框架HOOK进程  428

25.4 OLLVM混淆及加固技术  430

25.4.1 -fla  431

25.4.2 -bcf  432

25.4.3 -sub  434

本篇小结  436

第六篇 CTF之IoT

第26章 IoT基础知识  438

26.1 什么是IoT  438

26.2 什么是嵌入式系统  439

26.3 嵌入式系统的基本概念  439

26.4 CTF中常见的IoT题型归类  441

第27章 IoT固件逆向工程  443

27.1 常见IoT架构介绍  443

27.2 芯片手册的寻找与阅读  446

27.3 使用IDA手动寻找固件入口点  450

27.4 寄存器地址和SRAM地址的处理方法  453

27.5 IDA之CPU高ji选项  456

27.6 动态调试环境搭建  458

27.7 专业调试工具  459

27.8 反编译工具  469

第28章 固件结构分析  470

28.1 常见固件类型  470

28.2 Flash文件系统  471

28.3 固件基地址确定方法  471

28.4 固件分析工具  473

第29章 无线信号分析  475

29.1 无线通信基本理论介绍  475

29.2 常见调制方式与解调方法  476

29.3 Matlab在数字信号处理中的应用  478

第30章 经典赛题讲解  483

30.1 PCTF2016:Confused ARM  483

30.2 UCTF2016资格赛:TWI  486

30.3 UCTF2016决赛:Normandie  491

30.4 ACTF2016:4G Radio  498

30.5 UCTF2016资格赛:传感器(1)(2)  500

30.6 UCTF2016资格赛:Add  502

本篇小结  506