• 网络安全CTF比赛有哪些事?——《CTF那些事儿》告诉你


    目录

    前言

    一、内容简介

    二、读者对象

     三、专家推荐

     四、全书目录


    前言

     

    CTF比赛是快速提升网络安全实战技能的重要途径,已成为各个行业选拔网络安全人才的通用方法。但是,本书作者在从事CTF培训的过程中,发现存在几个突出的问题:

    1)线下CTF比赛培训中存在严重的“最后一公里”问题,线下培训讲师的水平参差不齐。

     2)国内高等院校和职业院校的网络空间安全学科与专业缺乏实战型、系统化的教材和配套实验课程。例如,Base64编码是网络安全行业必备的基础知识,但是学校的教材并不涉及该知识点,也没有专门的实验课对该知识进行讲解。

     3)大部分CTF比赛书籍对想学习网络空间安全技术的新人不够友好,很多初学者找不到快速、有效的学习方法。

     为了解决上述问题,帮助零基础的学习者快速掌握基本技能,同时吸引更多的人关注网络空间安全技能的学习,推进CTF比赛的发展,本书创新性地提出新的CTF知识学习框架,并在每一章附有大量实操练习,即使是没有网络空间安全知识基础的新手,也能按照书中的操作独立复现实验内容。

     本书不仅讲授了网络空间安全相关的基础知识和操作技能,还探讨了CTF赛题的本质,着重阐述了面对不同类型题目时的分析思路和方法。比如,我们首次提出“图像隐写三板斧”“逆向真经”等解题思维模式,并较为全面地总结了CTF比赛中对工控安全相关知识的考查方式。从线下培训的效果来看,这些方法的实用性极强。

     《CTF那些事儿》通过喜闻乐见的方式,以通俗易懂、幽默风趣的语言普及网络空间安全的知识,从而提高公众的网络空间安全意识,进而促进全行业水平的提高,为我国成为网络安全强国打下坚实的基础。


    一、内容简介

    本书由顶级CTF战队Lancet的指导教师李舟军教授和核心团队成员历时4年打磨而成,创新性地提出了新的CTF知识学习框架,体现了李舟军教授多年的教学精髓和带队经验。书中涵盖PWN、逆向、Web等常见题目,并系统性总结了CTF比赛中工控安全的考察方式。不仅讲授基础知识和操作技能,还探讨CTF赛题的本质,着重阐述了面对不同类型题目时的分析思路和方法。

    同时,书中针对CTF比赛学习的编排方式,符合我国主流的计算机学科知识体系结构,李舟军教授结合学生的实战经验,为网络安全空间爱好者提供了一本教科书式的实践指导手册。关注“IT阅读排行榜”,回复72991

     

    二、读者对象

    1)想系统学习网络安全基础技能的读者。本书作者的初衷,是希望以通俗易懂的方式呈现网络安全基础知识和技能,凡是对网络安全感兴趣的人都可以学习本书。

    2)政府机关、事业单位、国企及其他企业的技术人员。对于各类企业中需要参加CTF比赛的读者而言,本书可以作为赛前训练的指导书,帮助他们在短时间内快速掌握网络安全技能。

    3)高等院校和职业院校学生。对于高等院校和职业院校的学生,本书可以作为他们学习网络安全知识的“准教材”,有效补充理论知识与实操技能的不足。

    4)网络安全培训和比赛从业人员。我们希望抛砖引玉,使本书成为网络安全培训的基础教材和重要参考书,促进CTF比赛和培训行业的进一步发展。

     三、专家推荐

    李舟军教授长期从事网络与信息安全领域的研究与教学工作,为国家培养了一批高水平网络安全人才。同时,作为国务院学位委员会网络空间安全一级学科研究论证工作组成员,在该学科创建和发展中发挥了重要作用。由李舟军教授指导的Lancet战队在“网鼎杯”“强网杯”“鹏程杯”等CTF比赛中取得了优异的成绩。本书由Lancet战队倾力打造,创造性地提出新的网络安全基础技能的体系化学习框架,是一本非常适合“小白”入门的网络安全基础技能自学手册。同时,书中以严谨的态度介绍了网络安全相关理论和技术的历史脉络,并配以大量实操练习和离线工具包,兼顾知识性、趣味性与实战性,对读者将大有裨益。我认为,该书是CTF培训以及网络安全实战技能教学的一本难得的佳作,特此推荐。

      ——方滨兴,中国工程院院士,网络与信息安全专家,国务院学位委员会网络空间安全学科评议组召集人,教育部网络空间安全专业教学指导委员会副主任

     由于网络安全鲜明的实战性质和对抗特色,CTF成为学习和实践网络安全技术的重要途径,也是考察和选拔网络安全专业人才的重要手段。在众多的网络安全技术书籍,甚至专门介绍CTF的书籍中,李舟军教授主编的这本书独具特色,体现了他多年来教学的精髓。书中涵盖了PWN、逆向、Web等CTF常见的题目,也包括工控系统安全这样专业且实用的领域。它不仅是网络安全专业学生和爱好者学习CTF的重要指南,也是网络安全从业人员难得的学习资料。

     ——段海新,清华大学网络研究院教授,博士生导师,蓝莲花战队联合创始人,现任国务院学位委员会网络空间安全学科评议组成员

    这本书虽然以 CTF 为线索来组织内容,但也是一份不错的网络安全入门学习资料。书中对每一个技术门类都从零讲起,并配有大量便于读者理解的图例,可谓手把手教学。此外,本书在技术内容之外还讲述了技术发展的历史和文化,非常值得一读。

    ——于旸,腾讯杰出科学家,玄武实验室负责人

    李舟军教授和他所带领的Lancet战队是我国CTF竞赛演练领域的先锋。过去几年中,Lancet战队在李老师指导下斩获了几乎所有国内顶级竞赛的大奖。本书以李老师扎实的理论和教学实践为锚点,结合指导学生实战的经验,为所有网络空间安全爱好者提供了一本教科书式的实践导学手册,也为通过组织CTF战队进行教学工作的老师们提供了一部路径清晰、内涵丰富的参考教案。

    ——蔡晶晶,北京永信至诚科技股份有限公司董事长,教授级高级工程师,入选国家“万人计划”,国家网络安全实验平台项目专家,公安部网络安全专家

    这本书全面而系统地介绍了CTF的重要知识点,读者可以通过阅读本书,获得广泛而深入的安全领域知识。对信息安全专业的学生来说,这本书既是入门的绝佳指南,又是提升技能和精通CTF的宝贵资源。对于那些希望进入安全领域从事研究工作的读者来说,阅读这本书也会有极大的收获。作为我的研究生导师,李舟军教授的专业指导和悉心培养对我产生了深远的影响,让我受益匪浅。

    ——龚广,360 首席安全研究员兼数字安全集团漏洞研究院院长,研究员级高级工程师

     四、全书目录

    1. Contents目  录
    2. 前言
    3. 0章 开启CTF之旅 1
    4. 0.0 CTF比赛的历史 1
    5. 0.1 CTF比赛的常见赛制 1
    6. 0.2 国内外知名的CTF比赛 3
    7. 0.3 国内外知名的CTF战队 4
    8. 0.4 学习前的实验环境准备 7
    9. 0.4.0 虚拟机运行软件 7
    10. 0.4.1 搭建Python脚本运行环境 9
    11. 0.4.2 搭建Docker使用环境 11
    12. 1章 安全杂项 12
    13. 1.0 安全杂项类赛题简介 12
    14. 1.1 常见的编码与解码 13
    15. 1.1.0 ASCII编码 13
    16. 1.1.1 Base64编码 15
    17. 1.1.2 Base32编码 18
    18. 1.1.3 Base16编码 19
    19. 1.1.4 其他Base系列编码 19
    20. 1.1.5 Shellcode编码 21
    21. 1.1.6 Quoted-printable编码 22
    22. 1.1.7 UUencode编码 22
    23. 1.1.8 XXencode编码 23
    24. 1.1.9 URL编码 24
    25. 1.1.10 摩斯码 24
    26. 1.1.11 JSFuck编码 25
    27. 1.1.12 Brainfuck编码 26
    28. 1.1.13 编码类题目的通用解题方法 28
    29. 1.2 网络流量分析 30
    30. 1.2.0 网络协议的基础知识 31
    31. 1.2.1 Wireshark的基本使用方法 33
    32. 1.2.2 CTF流量分析的通用方法 42
    33. 1.2.3 ICMP 44
    34. 1.2.4 Telnet 45
    35. 1.2.5 FTP 47
    36. 1.2.6 DNS 48
    37. 1.2.7 HTTP 50
    38. 1.2.8 USB 59
    39. 1.2.9 TLS 60
    40. 1.2.10 IEEE 802.11 62
    41. 1.3 日志分析 65
    42. 1.3.0 Web日志及分析方法 65
    43. 1.3.1 系统设备日志及分析方法 70
    44. 1.4 电子取证分析 75
    45. 1.4.0 电子取证的常用技术 75
    46. 1.4.1 文件恢复 77
    47. 1.4.2 磁盘取证分析方法 79
    48. 1.4.3 内存取证分析方法 81
    49. 1.5 压缩文件格式与破解 84
    50. 1.5.0 ZIP压缩包格式 84
    51. 1.5.1 伪加密 87
    52. 1.5.2 压缩包密码爆破 89
    53. 1.5.3 CRC碰撞破解压缩包 91
    54. 1.5.4 已知明文攻击 93
    55. 1.6 信息搜集与搜索引擎的高级用法 95
    56. 1.6.0 信息搜集方法 95
    57. 1.6.1 搜索引擎的高级用法 97
    58. 2章 安全杂项——隐写术专题 99
    59. 2.0 隐写术简介 99
    60. 2.1 图像隐写方法及信息提取 100
    61. 2.1.0 常见的图像隐写方法 101
    62. 2.1.1 PNG文件格式及隐写方法 102
    63. 2.1.2 JPG文件格式及隐写方法 106
    64. 2.1.3 GIF文件格式及隐写方法 110
    65. 2.1.4 图像隐写三板斧 115
    66. 2.1.5 图像隐写三板斧2.0 124
    67. 2.1.6 图像和像素值的转换 133
    68. 2.2 音频隐写方法及信息提取 135
    69. 2.2.0 常见的音频文件格式解析 135
    70. 2.2.1 基于波形图的隐写 137
    71. 2.2.2 基于频谱图的隐写 138
    72. 2.2.3 音频LSB隐写 139
    73. 2.2.4 MP3文件隐写 141
    74. 2.2.5 拨号音识别 144
    75. 2.2.6 音频隐写总结 146
    76. 2.3 视频隐写方法及信息提取 147
    77. 2.4 文本隐写方法及信息提取 148
    78. 2.4.0 基于文本内容的隐写 149
    79. 2.4.1 基于Word文档的隐写 149
    80. 2.4.2 基于PDF文档的隐写 151
    81. 2.5 二维码 155
    82. 2.5.0 QR码的基础知识和常用工具 156
    83. 2.5.1 QR码画图 158
    84. 2.5.2 QR码修复 159
    85. 3章 密码学基础 161
    86. 3.0 密码学简介 161
    87. 3.1 古典密码 165
    88. 3.1.0 栅栏密码 165
    89. 3.1.1 凯撒密码 169
    90. 3.1.2 ROT位移密码 170
    91. 3.1.3 Atbash密码 172
    92. 3.1.4 猪圈密码 172
    93. 3.1.5 培根密码 173
    94. 3.1.6 简单替换密码 175
    95. 3.1.7 仿射密码 177
    96. 3.1.8 单表代换密码总结 178
    97. 3.1.9 多表代换密码 179
    98. 3.1.10 维吉尼亚密码 179
    99. 3.1.11 希尔密码 184
    100. 3.2 对称密码 185
    101. 3.2.0 对称密码的基本模型 185
    102. 3.2.1 流密码和分组密码的本质区别 186
    103. 3.2.2 xor密码 186
    104. 3.2.3 RC4 190
    105. 3.2.4 Feistel密码结构 191
    106. 3.2.5 DES 194
    107. 3.2.6 AES 195
    108. 3.2.7 填充 196
    109. 3.2.8 分组模式 197
    110. 3.3 非对称密码 206
    111. 3.3.0 RSA基础 206
    112. 3.3.1 模数N相关攻击 208
    113. 3.3.2 指数e相关攻击 212
    114. 3.3.3 私钥d相关攻击 214
    115. 3.3.4 广播攻击 215
    116. 3.3.5 ECC基础 217
    117. 3.3.6 ECC加密 218
    118. 3.3.7 Pohlig_Hellman攻击 219
    119. 3.3.8 Smarts攻击 220
    120. 3.4 哈希函数 221
    121. 3.4.0 哈希函数的基本模型 221
    122. 3.4.1 MD5 222
    123. 3.4.2 哈希长度扩展攻击 223
    124. 4章 Web渗透基础 228
    125. 4.0 引言 228
    126. 4.0.0 概述 228
    127. 4.0.1 HTTP理论基础 229
    128. 4.0.2 环境搭建与工具使用 234
    129. 4.1 Web信息收集的技巧 241
    130. 4.1.0 端口扫描 241
    131. 4.1.1 目录探测 247
    132. 4.1.2 指纹识别 255
    133. 4.2 暴力破解 258
    134. 4.2.0 用户名/密码爆破 258
    135. 4.2.1 参数爆破 264
    136. 4.2.2 密钥爆破 268
    137. 4.2.3 随机数爆破 271
    138. 4.2.4 字典 275
    139. 4.3 PHP弱类型 277
    140. 4.3.0 PHP代码基础 277
    141. 4.3.1 PHP弱类型问题 280
    142. 4.4 上传漏洞 283
    143. 4.4.0 前端JavaScript绕过 287
    144. 4.4.1 MIME-Type绕过 288
    145. 4.4.2 黑名单绕过 288
    146. 4.4.3 .htaccess绕过 289
    147. 4.4.4 后缀名绕过 290
    148. 4.4.5 图片马 291
    149. 4.4.6 其他类型的问题 296
    150. 4.5 SQL注入漏洞 297
    151. 4.5.0 SQL注入 297
    152. 4.5.1 SQL注入漏洞的分类 300
    153. 4.5.2 SQL注入漏洞实战 301
    154. 4.5.3 SQLmap 307
    155. 4.5.4 宽字节注入 309
    156. 4.5.5 WAF绕过 310
    157. 4.5.6 利用SQL注入读写文件 313
    158. 4.5.7 报错注入 314
    159. 4.6 文件包含 317
    160. 4.6.0 php://filter进阶 321
    161. 4.6.1 文件包含的分类 322
    162. 4.6.2 文件包含中的截断和phar:// 322
    163. 4.7 命令执行 324
    164. 4.7.0 危险函数 332
    165. 4.7.1 无参数RCE 333
    166. 4.8 CSRF与XSS 338
    167. 4.8.0 CSRF 338
    168. 4.8.1 CSRF防御 340
    169. 4.8.2 XSS 341
    170. 4.9 SSRF 344
    171. 5章 软件逆向工程 347
    172. 5.0 软件逆向工程简介 347
    173. 5.0.0 软件是怎么生成的 347
    174. 5.0.1 软件逆向工程的定义及目标 349
    175. 5.0.2 软件逆向工程的发展历史 349
    176. 5.1 CTF软件逆向工程入门 350
    177. 5.1.0 逆向题目的特点 350
    178. 5.1.1 逆向真经 351
    179. 5.2 静态分析方法 352
    180. 5.2.0 静态分析的原理和技巧 352
    181. 5.2.1 静态分析的常用工具 355
    182. 5.2.2 静态分析实战 359
    183. 5.3 动态分析方法 383
    184. 5.3.0 动态调试的技巧 383
    185. 5.3.1 汇编 384
    186. 5.3.2 使用OllyDbg进行动态调试 392
    187. 5.3.3 使用GDB进行动态调试 399
    188. 5.3.4 使用IDA进行本地动态调试 403
    189. 5.3.5 使用IDA进行远程动态调试 407
    190. 6章 进入 PWN 的世界 410
    191. 6.0 PWN简介 410
    192. 6.1 CTF中的PWN 410
    193. 6.2 栈溢出入门 414
    194. 6.2.0 认识栈结构 415
    195. 6.2.1 函数调用过程分析 415
    196. 6.2.2 Linux操作系统的基本保护
    197.    ?机制 418
    198. 6.2.3 覆盖返回地址 419
    199. 6.2.4 覆盖返回地址到Shellcode 421
    200. 6.2.5 编写单个函数的ROP链 423
    201. 6.2.6 编写两个函数的ROP链 427
    202. 6.2.7 编写多个函数的ROP链 431
    203. 6.2.8 ret2syscall 433
    204. 6.2.9 用动态链接动态泄露system
    205.    ?地址并利用 437
    206. 6.2.10 64位程序的栈溢出 442
    207. 6.2.11 未知远程libc的解法 443
    208. 6.3 格式化字符串 443
    209. 6.3.0 格式化字符串的原理 443
    210. 6.3.1 格式化字符串漏洞的利用 446
    211. 6.3.2 通过格式化字符串漏洞泄露
    212.    ?栈上内容 447
    213. 6.3.3 通过格式化字符串漏洞泄露
    214.    ?任意地址内存 448
    215. 6.3.4 通过格式化字符串漏洞覆盖
    216.    ?任意地址内存 450
    217. 6.3.5 64位格式化字符串 456
    218. 6.3.6 格式化字符串的综合利用 456
    219. 6.4 栈溢出进阶技术 457
    220. 6.4.0 栈劫持 457
    221. 6.4.1 ropchain 463
    222. 6.4.2 Canary保护机制及其利用
    223.    ?方式 463
    224. 6.4.3 __libc_csu_init的利用方式 472
    225. 6.4.4 ret2_dl_runtime_resolve 474
    226. 6.5 栈溢出和格式化字符串总结 484
    227. 7章 PWN进阶 485
    228. 7.0 堆管理器 485
    229. 7.0.0 ptmalloc堆管理器的基本功能 485
    230. 7.0.1 malloc和free简介 486
    231. 7.0.2 内存分配背后的系统调用 487
    232. 7.1 堆相关的数据结构 488
    233. 7.1.0 malloc_chunk 488
    234. 7.1.1 bin 490
    235. 7.1.2 fast bin 492
    236. 7.1.3 small bin 493
    237. 7.1.4 large bin 495
    238. 7.1.5 unsorted bin 496
    239. 7.1.6 bin 的总结 497
    240. 7.2 malloc的基本算法 497
    241. 7.2.0 __libc_malloc 497
    242. 7.2.1 fast bin分配算法 498
    243. 7.2.2 small bin分配算法 499
    244. 7.2.3 large bin分配算法1 500
    245. 7.2.4 unsorted bin分配算法 501
    246. 7.2.5 large bin分配算法2 503
    247. 7.2.6 寻找更大的bin链 504
    248. 7.2.7 使用top chunk 505
    249. 7.2.8 总结 506
    250. 7.3 free函数的基本算法 506
    251. 7.4 堆利用的基本方法 507
    252. 7.4.0 House of Prime 507
    253. 7.4.1 House of Lore 508
    254. 7.4.2 House of Spirit 509
    255. 7.4.3 House of Force 512
    256. 7.4.4 House of系列方法总结 514
    257. 7.5 链表攻击 514
    258. 7.5.0 unlink 514
    259. 7.5.1 fast bin 攻击 520
    260. 7.5.2 unsorted bin 攻击 524
    261. 7.6 其他漏洞形式及其利用 526
    262. 7.6.0 off by one 527
    263. 7.6.1 off by null 530
    264. 7.6.2 fast bin 三重释放攻击 533
    265. 7.7 例题讲解 536
    266. 7.8 tcache机制及其利用方式 542
    267. 7.8.0 tcache的重要数据结构与
    268.    ?源码解读 542
    269. 7.8.1 tcache dup(glibc 2.27547
    270. 7.8.2 tcache 双重释放(glibc 2.27549
    271. 7.8.3 tcache dup(glibc 2.29551
    272. 7.8.4 tcache 双重释放(glibc 2.29551
    273. 7.8.5 tcache stash unlink(glibc 2.29557
    274. 7.8.6 tcache stash unlink plus
    275.    ?(glibc 2.29560
    276. 7.8.7 tcache stash unlink plus plus
    277.    ?(glibc 2.29562
    278. 7.8.8 large bin 攻击1(glibc 2.29564
    279. 7.8.9 large bin 攻击2(glibc 2.29568
    280. 7.8.10 tcache 攻击(glibc 2.31569
    281. 7.8.11 堆利用总结 572
    282. 7.9 PWN中的打补丁技术 572
    283. 7.9.0 change data 573
    284. 7.9.1 add segement 575
    285. 7.9.2 compress instruction 578
    286. 7.9.3 add logic 580
    287. 7.9.4 打补丁技术总结 582
    288. 8章 工业控制系统安全 583
    289. 8.0 工业控制系统概述 583
    290. 8.0.0 工业控制系统的定义 583
    291. 8.0.1 工业控制系统安全概述 586
    292. 8.0.2 工业控制系统的组成 588
    293. 8.0.3 工业控制系统的架构 601
    294. 8.1 工业控制系统编程 607
    295. 8.1.0 读懂梯形图 608
    296. 8.1.1 学会指令表 633
    297. 8.1.2 其他编程语言 650
    298. 8.1.3 常见工程文件汇总 653
    299. 8.2 工业控制系统通信协议 659
    300. 8.2.0 Modbus协议 659
    301. 8.2.1 西门子S7协议 669
    302. 8.2.2 其他工控协议 680
    303. 8.2.3 PLC漏洞利用 691
    304. 参考文献 710

     

     🎉本次评论区抽至少0-4位小伙伴送书
    🎉活动时间:截止到 2023-9-29 0:00:00
    🎉抽奖方式:评论区随机抽奖。
    🎉参与方式:关注博主、点赞、收藏,评论:“CTF那些事儿早知道!”。
    🎉通知方式:通过私信联系中奖粉丝。

  • 相关阅读:
    【在Vue脚手架项目中使用qs框架】
    java之泛型
    vue3异步组件
    CMake 官方文档入门
    MMKV源码解读与理解
    值传递还是引用传递(By Value or By Reference)
    在前端使用正则对输入form表单的数据进行格式判断
    外汇交易新手福利:入门必看,快速提升交易技能
    Web安全基础
    入门力扣自学笔记198 C++ (题目编号:1704)
  • 原文地址:https://blog.csdn.net/m0_49914128/article/details/133274584