书籍作者:FlappyPig战队 | ISBN:9787111657354 |
书籍语言:简体中文 | 连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 | 下载次数:3401 |
创建日期:2021-02-14 | 发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
本书由国内老牌CTF战队FlappyPig撰写,战队成员曾多次荣获XCTF国际联赛冠军、TCTF/0CTF冠军、WCTF世界黑客大师挑战赛季军,多次入围Defcon全球总决赛,具有丰富的实战经验。
本书围绕CTF竞赛需要的安全技术、解题方法和竞赛技巧3个维度展开,旨在通过作者扎实的技术功底和丰富的竞赛经验,引领对CTF竞赛感兴趣的读者快速入门。书中依据CTF竞赛的特点,分别从Web、Reverse、PWN、Crypto、APK、IoT这6个方面系统地对CTF竞赛的知识点、模式、技巧进行了深入讲解,每一篇都搭配历年真题,帮助读者加深理解。
全书一共分六篇。
Web篇(第1~8章)
主要讲解CTF比赛中Web类型题目的基础知识点与常用的工具和插件,这些知识点和工具也可以用于部分渗透测试的实战中。
Reverse篇(第9~10章)
主要讲解CTF中逆向分析的主要方法、常用分析工具、逆向分析技术和破解方法,帮助读者提高逆向分析能力。
PWN篇(第11~17章)
对PWN二进制漏洞挖掘与利用的详细分析,主要讲解了针对各种漏洞的利用方法和利用技巧,读者可以结合实例题目加深理解。
Crypto篇(第18~22章)
对Crypto类型题目的知识和例题讲解,主要从概述、编码、古典密码、现代密码以及真题解析几个方向阐述。
APK篇(第23~25章)
讲解CTF中APK的相关内容,主要从APK的基础知识点、Dalvik层的逆向分析技术,以及Native层的逆向分析技术3个方面介绍APK题目的基础内容、解题方法和竞赛技巧。
IoT篇(第26~30章)
对IoT类型题目的讲解,内容涉及IoT、无线通信的基础知识和相关题型的解题技巧,帮助读者培养解决IoT相关题目的能力。
FlappyPig
国内老牌知名CTF战队,曾获数十个各级CTF竞赛冠亚季军,具备国际CTF竞赛水准,具备丰富的CTF参赛经验。先后获得XCTF联赛总冠军、XNUCA总决赛冠军、CISCN冠军、TCTF/0CTF(Defcon外卡赛)冠军、WCTF世界黑客大师挑战赛季军,连续三年闯进Defcon决赛,Defcon最好成绩第10名。战队开发维护了用于CTF赛事评级的CTFRank网站。
现在以r3kapig联合战队的方式参赛。
战队成员挖掘并披露漏洞获得CVE编号上百枚,向各类SRC报备漏洞数百个。战队成员在Geekpwn、天府杯、PWN2OWN等漏洞挖掘类竞赛中也取得了不错的成绩。
战队主要成员目前就职于阿里巴巴、腾讯、京东等,从事网络安全、漏洞挖掘相关工作。在网络安全竞赛、漏洞挖掘、渗透测试等领域具有非常深厚的经验积累,擅长Web、应用层软件、操作系统、区块链、嵌入式等多领域的漏洞挖掘与利用。
(1)内容结构上,依据CTF竞赛的知识点类别,分别从易至难进行了基础知识的讲解和真题的练习;实用性方面,不仅适合初学者,还可作为资深CTF选手的工具书,面对复杂问题时,通过梳理题目类别和逻辑,按照书中结构寻找题目突破点,具有较高的实用价值。
(2)写作方式上,结合题目内容,将晦涩难懂的数学知识和计算机技术原理转换为通俗易懂的语言进行描述;行文风格上,逻辑严密,语言清晰,详细介绍了各类CTF问题的本质。
为什么写这本书
撰写本书的想法起源于我和麦香的一次思想碰撞。每一个CTF战队的发展其实都面临着一个问题,那就是“如何传承”。作为一个联合战队,随着老成员走向工作岗位,如何用良好的机制实现新老更替,是战队管理者需要认真考虑的问题。我们也尝试过公开招募成员,但是从他们实习期的表现来看,这种方式是很难获得优秀血液的。战队在学校也做了很多招新和培养的尝试,很多学生咨询如何学习CTF。我们会耐心地询问他们的情况,然后讲述自己当时是如何学习的,并且推荐一些方法。但是我们发现,很多人并没有耐心和足够的时间学习,而是想一步登天。CTF是一门偏重于实践的学问,仅靠读一本书、一篇论文,或者学一门课远远不够的,它需要足够的兴趣和精力,不停地做题、实战、锻炼,并没有捷径可走。
道理虽然如此,但是对于初学者来说,缺少入门指引就会感到迷茫,不知道去做什么题,也不知道去学什么。因此我就产生了一个想法—写一本书带领新人入门CTF。我将该想法告诉“猪群”(战队群)中的成员,结果麦香说他也想到了写书的事情(可谓心有灵犀)。于是我们将CTF的知识按照题目类型进行了分类,然后根据战队中每个人的专长,将每一篇交由合适的人来负责撰写,于是本书就诞生了。
本书特色
本书主要从Web、Reverse、PWN、Crypto、APK、IoT 6个方面对CTF的入门知识、学习方法和常见题型进行了介绍,并且结合实际题目对相关知识点进行讲解,同时结合线上赛、线下赛对竞赛技巧进行了总结。从定位上来说,本书并不能让读者读完就成为“职业竞技选手”,而是希望读者能够从本书中知道自己对哪些方面感兴趣,要进一步学习哪些方面的知识,达到CTF入门的目的。因此,本书面向的人群是CTF的初学者。当然,如果有经验的读者想要跨领域学习其他类型的题目的解法,也可以从本书中获取一些灵感。
阅读本书之前,首先建议读者认真思考以后想要深入研究的领域,是成为一名Web选手,还是成为一名PWN选手。如果想要成为一名Web选手,则推荐先从W3CSchool开始学起,再来阅读本书的Web章节,最后学习Crypto章节。如果想要成为一名PWN选手,那么必须先掌握计算机组成原理、操作系统、汇编语言三门课程,然后再来看本书的PWN章节、Reverse章节、APK章节、Crypto章节,最后还应学习IoT章节。
学习CTF并不是一朝一夕的事情,但也不需要花费三年五载才能入门。大家平时工作、学习的任务也非常繁重,很难静下心来专门抽出大量的时间来刷题,那么每一场CTF竞赛就显得额外关键了。认真参加每一场CTF竞赛就可以得到快速提升,没有必要在平常刻意进行题海锻炼(当然,如果有闲暇时间多做一做会更好)。几乎每周都有一场CTF比赛,大家可积极参与,不一定非要取得名次。通过边学边做的方式可以解答一批题目,至于其他的题目,线下赛一定要多看别人的Writeup,因为对Writeup的学习才是最迅速的提升方式。这样下来,半年之内基本上就可以打进国内的很多决赛了。很多人参赛时不会做题目,也不愿意学习别人的Writeup,那么就失去了参加这场竞赛对这些人来说意义,个人能力也很难得到提升。
资源获取及反馈
本书中所列举的题目大部分是战队自己出的,也包括一些国外的题目,并且搭载在汪神的OJ上(https://www.jarvisoj.com)。本书的每一篇均由不同的作者撰写,所以行文风格会有所不同。书中难免会出现错误,如果发现问题可以及时与我们联络:[email protected]。
战队介绍
战队于2014年组建,目前主要以与Eur3ka组成联队r3kapig的方式进行竞赛,战队的主要精力集中在国际赛事和国内优秀赛事上。感谢在战队创立之初一起拼搏的ling、lu、小墨、医生师傅、hu狗,感谢为战队成长和本书撰写做出巨大努力的白师傅、丁满、joker、汪神、pxx、石总、兰斯、muhe、chu牛、bendawang、lowkey、猪头、simple、蛋总、flier、swings、老鼠,感谢麦香使了写书任务完成。
CTF赛制介绍
最初的CTF赛制就是Jeopardy赛制(还有若干变种)。这种赛制采用的是解题模式,解出一道题目提交flag就得分。后来出现了AD赛制,在AD(Attack&Defense)赛制中,每支队伍维护一台或若干台gamebox,每支队伍维护的gamebox上都有相同的题目服务。每个服务的启用权限均是题目的权限,选手能拿到的权限略高于题目的权限,则可以进行后门清理等操作,也可以替换题目的bin文件,用于patch。主办方有root的权限。主办方每间隔固定时间(5~20分钟)都会针对每道题目向gamebox推送一个flag。不同题目的权限无法访问相互的flag。选手通过PWN掉服务,获取对应题目的flag值并提交。同一支队伍的flag分每轮都是固定的,如果被多个队伍获取,则均分。主办方会针对每道题编写若干检查器来判断服务是否正常运行。如果题目被判定失效,那么该题也会扣分。通常来说,与题目flag每轮的服务一样,这个分数会被所有没有判定失效的队伍均分,这种计分方式被称为零和赛制。零和赛制下,AD出现了很多弊端,因此社区正在不断地对AD赛制进行更新。Defcon Final作为先行者推出了非零和的计分方法,并通过Git的方式对赛题进行运维,这使得选手只须拿出少量精力放到metagame上,而把更多的精力放到题目本身上。目前来说,社区更倾向于采用单纯的Jeopardy赛制,因为对于CTF来说,题目本身比赛制重要得多。
前 言
第一篇 CTF之Web
第1章 常用工具安装及使用 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
第二篇 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
第10章 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
第11章 PWN基础 142
11.1 基本工具 142
11.2 保护机制 143
11.3 PWN类型 143
11.4 常见利用方法 144
11.5 程序内存布局 149
11.6 真题解析 150
预订的书,提前发货了,很快收到。
2020-06-24 20:18:00
这本书印刷精美,内容也符合我们这些初学者,告诉我CTF竞赛怎么快速入门,该学什么,我要好好的学习了解这本书
2020-06-25 19:02:05