CTF实战:技术、解题与进阶
书籍作者:ChaMd5安全团队 |
ISBN:9787111728832 |
书籍语言:简体中文 |
连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 |
下载次数:4564 |
创建日期:2024-04-09 |
发布日期:2024-04-09 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
内容简介
内容简介
随着数字化和智能化的不断应用和发展,CTF涉及的技术领域、比赛的形式、解题的方法等也在快速变化,对参赛者的技术能力和实战经验要求越来越高,过往的图书越来越不能满足新时代CTFer的需求。
本书是一本与时具进的CTF著作,紧跟CTF变化趋势,围绕Web安全、密码学、逆向工程、Pwn、隐写术、数字取证、代码审计7大传统核心领域以及智能合约、工控、物联网、车联网4大新兴领域,全面、系统地讲解了CTFer需要掌握的安全技术及其进阶知识,精心设计和挑选了大量的实操案例和典型真题,并分享了很多流行的战术和战法。既适合作为新人系统学习的入门教程,又适合身经百战的CTFer作为备赛时的定海神针,总而言之,本书希望能指导CTFer在新时代的比赛中取得傲人的成绩。
本书是国内老牌CTF战队ChaMd5核心成员多年实战经验的总结,得到了来自百度、腾讯、绿盟、奇安信等多家互联网企业以及Lilac、Nu1L Team、Redbud、W&M、米斯特、网络尖刀等国内知名CTF战队和SRC安全团队的20余位专家的好评和一致推荐。
编辑推荐
适读人群 :①有一定CTF基础,想获得CTF比赛解题技能的选手。②打算从CTF选手转型到安全实战工作的新人。
(1)紧跟时代步伐:CTF随着技术的应用和发展不断变化,本书从新赛事、新题目、新打法、新技术4个维度指导读者成为新时代CTFer。
(2)作者背景:ChaMd5是国内的王牌安全团队,团队核心成员来自阿里、滴滴、启明星辰、绿盟、知道创宇、奇安信、永信至诚、360、陌陌、牛盾、安恒、启明等公司。
(3)作者经验丰富:自成立以来,在CTF比赛、工控安全比赛、IoT比赛、AI安全比赛、车联网安全比赛等多种安全赛事中屡获佳绩,累计获得6次冠军,为企业报告安全漏洞超10万个。
(4)覆盖11大领域:全面覆盖Web安全、密码学、逆向工程、Pwn、隐写术、数字取证、代码审计7大传统核心领域以及智能合约、工控、物联网、车联网4大新兴领域,紧跟安全技术的发展。
(5)从基础到进阶:不仅详细讲解11大技术领域的基础和原理,而且还针对性地讲解了它们的进阶知识、技巧和心得。
(6)大量案例真题:不仅精心设计了大量的实操案例来帮助读者理解,而且还精心挑选了大量的典型真题,给出了真题的解法以及比赛的战术、战法。
(7)22位专家力荐:来自百度、腾讯、绿盟、奇安信等多家互联网企业的专家,来自Lilac、Nu1L Team、Redbud、W&M、米斯特、网络尖刀等国内知名CTF战队和安全团队的专家,以及来自高校的学者联袂推荐。
前言
前 言
为什么要写这本书
2016年ChaMd5安全团队成立,转眼间已经7年了。我们在各SRC平台和CTF比赛中获得了不少奖项,逐渐意识到团队成员应该将这几年的经验和技术沉淀下来,为安全行业的新人以及热爱安全行业、想提升技术的伙伴们提供帮助。
2021年年中,本着为行业做点贡献的想法,我开始筹划和构思写书,这个时候恰好应邀为Nu1L战队所著的《从0到1:CTFer成长之路》写书评,拜读该书样章后受到了很大的启发。又逢我们的队长L1n3为内部成员和安全爱好者搭建了CTFHub平台,对历年CTF比赛真题进行复现,由此我发现一本仅围绕CTF进行讨论的书可能缺少亮点,便考虑怎样才能对安全从业人员或者想从事安全方面工作的人提供更实际的
帮助。
2021年年底,我有幸遇到了机械工业出版社的杨福川编辑和韩蕊编辑,他们了解到我们团队在行业内获得过很多奖项,问我们为什么不写一本书。在和杨福川编辑多次交流后,我们确定了本书的框架—把学生时期的CTF比赛和工作中的实战相结合。为了写好这本书,我们研究了市面上相关图书涉及的安全技术知识,将一些未被提及的内容归纳总结到本书中。
本书把20多位业内资深专家近年来积累的经验和行业技巧毫无保留地分享给大家,我相信再好的技术也需要传承,如果舍不得分享,那就没有了价值。
目录
目 录
赞誉
前言
第1章 Web安全1
1.1 SQL注入1
1.1.1 SQL注入基础1
1.1.2 SQL注入进阶16
1.2 XSS 27
1.2.1 XSS类型27
1.2.2 XSS Bypass技巧29
1.2.3 XSS进阶35
1.2.4 XSS CTF例题43
1.3 跨站请求伪造44
1.4 服务器端请求伪造46
1.4.1 SSRF利用47
1.4.2 SSRF Bypass技巧57
1.4.3 SSRF进阶60
1.5 任意文件上传70
1.5.1 客户端校验70
1.5.2 服务端校验72
1.5.3 任意文件上传进阶85
1.6 任意文件包含89
1.6.1 常见的利用方式89
1.6.2 任意文件包含进阶93
1.7 命令注入95
1.7.1 常见危险函数96
1.7.2 常见注入方式97
1.7.3 Bypass技巧99
1.7.4 命令注入进阶102
1.8 XML外部实体注入104
1.8.1 XML的基本语法104
1.8.2 利用方式106
1.8.3 Bypass技巧107
1.9 反序列化漏洞108
1.9.1 什么是反序列化108
1.9.2 PHP反序列化109
1.10 服务端模板注入115
1.10.1 模板引擎115
1.10.2 服务端模板注入原理116
1.10.3 Flask-Jinja2模板注入117
1.10.4 PHP-Smarty模板注入126
1.10.5 CTF实战分析129
1.11 逻辑漏洞132
1.11.1 登录体系安全133
1.11.2 业务数据安全134
1.11.3 会话权限安全139
1.11.4 密码重置漏洞144
1.11.5 CTF实战分析150
第2章 密码学153
2.1 现代密码学153
2.1.1 计算安全和无条件安全153
2.1.2 对称密码学154
2.1.3 非对称密码学155
2.2 古典密码学156
2.2.1 置换密码156
2.2.2 代换密码159
2.2.3 古典密码学的常用工具和方法164
2.3 分组密码的结构165
2.3.1 常见的网络结构165
2.3.2 常见的加密模式166
2.3.3 常见的分组加密算法170
2.4 针对分组密码的攻击方式170
2.5 差分分析攻击实例:对DES的差分
攻击172
2.6 格密码182
2.6.1 格理论知识基础182
2.6.2 knapsack密码系统186
2.6.3 NTRU密码系统188
2.6.4 基于Lattice的一些攻击场景191
第3章 逆向工程194
3.1 初识逆向工程194
3.1.1 逆向工程基础194
3.1.2 汇编语言基础196
3.1.3 Windows逆向工程198
3.1.4 Linux逆向工程206
3.2 逆向工程进阶207
3.2.1 逆向工程常用算法207
3.2.2 代码保护技术210
3.2.3 工具的高级应用217
3.2.4 Hook和DLL注入技术230
3.2.5 现代逆向工具237
3.3 高级语言逆向241
3.3.1 Python语言逆向241
3.3.2 .NET程序逆向245
3.3.3 WebAssembly程序逆向254
3.3.4 Go程序逆向256
3.3.5 Rust程序逆向272
3.4 Android平台逆向工程277
3.4.1 Android静态分析277
3.4.2 Android动态分析279
3.4.3 Android代码保护技术282
3.4.4 Android Hook和脱壳技术283
3.5 逆向工程心得与逆向学习285
3.5.1 关于逆向心得285
3.5.2 关于逆向学习286
第4章 Pwn方向288
4.1 Pwn基础288
4.1.1 常用三大工具288
4.1.2 Linux基础295
4.1.3 Glibc内存管理机制306
4.2 Pwn初探309
4.2.1 栈漏洞309
4.2.2 格式化字符串漏洞318
4.2.3 堆漏洞331
4.2.4 整数漏洞341
4.3 Pwn进阶342
4.3.1 栈相关技巧342
4.3.2 格式化字符串漏洞352
4.3.3 堆漏洞361
4.3.4 IO_FILE利用371
4.3.5 特殊场景下的Pwn375
第5章 隐写术390
5.1 图片隐写390
5.1.1 在文件结构上直接附加信息390
5.1.2 LSB隐写394
5.1.3 Exif395
5.1.4 盲水印396
5.2 音频隐写397
5.2.1 MP3隐写397
5.2.2 音频频谱隐写398
5.3 视频隐写399
5.4 其他载体的隐写方式399
5.4.1 PDF隐写399
5.4.2 DOC隐写400
第6章 数字取证402
6.1 数字取证概述402
6.1.1 数字取证的发展402
6.1.2 数字取证规范和法律依据403
6.2 数字取证技术入门404
6.2.1 存储与恢复404
6.2.2 Windows系统级取证通识406
6.2.3 UNIX/Linux系统级取证通识409
6.2.4 Mac OS系统级取证通识411
6.3 数字取证技术实务进阶414
6.3.1 文件结构分析与恢复414
6.3.2 镜像还原与仿真417
6.3.3 内存取证高级分析417
6.3.4 数字取证实战分析423
第7章 代码审计431
7.1 Java反序列化漏洞431
7.1.1 Java反序列化漏洞原理431
7.1.2 Ysoserial工具介绍437
7.1.3 CTF Java Web题目详解438
7.2 Python审计方向440
7.2.1 常见漏洞审计440
7.2.2 进阶漏洞审计445
7.2.3 自动化代码审计451
第8章 智能合约安全455
8.1 合约工具配置455
8.1.1 区块链与以太坊455
8.1.2 基础工具配置456
8.1.3 Remix的使用456
8.1.4 Etherscan的使用459
8.2 合约常见漏洞461
8.2.1 无符号整数溢出461
8.2.2 假充值漏洞462
8.2.3 跨合约调用463
8.2.4 call漏洞合约464
8.2.5 短地址攻击465
8.2.6 重入攻击467
8.2.7 tx.origin身份认证漏洞469
8.2.8 可控随机数470
8.2.9 异常紊乱漏洞470
8.3 CTF题目分析471
8.3.1 内联汇编471
8.3.2 区块链生态类475
8.4 智能合约漏洞分析实战477
8.4.1 整数溢出造成的合约攻击477
8.4.2 跨合约调用漏洞造成的攻击477
第9章 工控安全479
9.1 工业控制系统概述479
9.1.1 基本概念和主要元件479
9.1.2 工业控制系统网络结构481
9.2 工业控制系统协议482
9.2.1 Modbus482
9.2.2 S7Comm489
9.2.3 DNP3490
9.3 EtherNet/IP491
9.3.1 BACnet491
9.3.2 OPC492
9.4 工业控制系统编程493
9.4.1 PLC编程493
9.4.2 HMI编程508
9.5 工业控制系统逆向512
9.5.1 固件逆向512
9.5.2 VxWorks内核机制分析519
9.5.3 GoAhead Web Server执行流程
分析522
9.6 工业控制系统渗透527
9.6.1 工控网络特点527
9.6.2 资产探测530
9.6.3 漏洞利用533
第10章 物联网安全535
10.1 物联网基础理论535
10.1.1 ARM535
10.1.2 MIPS538
10.2 物联网安全分析539
10.2.1 仿真环境搭建539
10.2.2 固件的提取、解密和分析545
10.2.3 分析调试工具549
10.3 相关漏洞原理550
10.3.1 Web漏洞550
10.3.2 缓冲区溢出551
10.3.3 后门559
10.4 漏洞分析559
10.4.1 Web漏洞560
10.4.2 缓冲区溢出569
10.4.3 内置后门及后门植入574
第11章 车联网安全578
11.1 什么是车联网578
11.2 车联网安全竞赛579
11.2.1 总线逆向破解580
11.2.2 线上夺旗赛591
11.2.3 实车漏洞挖掘594
11.3 车联网安全实战596
11.3.1 TBOX安全596
11.3.2 车机安全603
11.3.3 充电桩安全615