CTF-All-In-One/book/about.md
firmianay 39ffd6c5a5 fix
2020-11-12 13:31:40 +08:00

5.6 KiB
Raw Blame History

关于本书

作者简介

杨超毕业于西安电子科技大学L-Team成员。目前就职于中国汽研北京分院从事车联网安全研究和工具开发。曾在海康威视、斗象科技工作过。活跃在开源社区关注我的GitHubfirmianay

作者序

时间回到2017年7月随着信息安全的发展CTF竞赛也开始引人关注这种有趣的竞赛模式对技术切磋和快速学习十分有效。在西电信安协会XDSEC学长的带领下我已经接触了较长的一段时间。由于网上还没有比较完善和系统的资料本着开源之精神以分享他人提高自己为目的我在GitHub上创建了一个叫做“CTF-All-In-One”的项目并给了自己第1个star。在随后的时间里这个项目日渐完善吸引和帮助了不少初学者到今天已经收获了超过2100个star在此我将它们献给所有为技术分享与进步作出贡献的CTF出题人和项目贡献者们。

收到刘皎老师的约稿邀请是在2018年10月那时我刚上大四我说可以试试看就惊喜又惶恐地接受了这项挑战。然后就是定目录交样章在2019年1月签订了约稿合同。没想到写作的道路竟如此艰难每一章、每一节、每一个例子甚至每一个词都要斟酌就生怕误人子弟。学业和工作的事情很多最初参与的两个朋友相继离开我本人也多次想要放弃直到2020年7月才完成初稿。经过几轮艰苦的校稿终于在2020年10月签订了出版合同。两年时间仿佛一晃就这样过去了。

写作的过程基本就是一个现学现卖的过程,我一边学习新知识,一边在框架体系里进行整理。这条路上有太多的分叉和无数的坑,我尽量把自己的经验写进书里,让读者可以快速获得其中的关键技术,避免重复劳动。所以与其称之为一本书,倒不如说是一个经过校对、完善,最终得到出版的知识库。在这个过程中,我也发现了写作对我来说是一种有效的训练方式,是一种附加的价值,通过对自己的知识和想法进行梳理,从而大大有益于我的工作。

我知道自己的限度这本书是我写的第一本也很可能是最后一本。安全很有趣我很高兴当初选择了它很荣幸有机会分享出来希望读者读到这本书时也会为自己的选择而感到高兴。我们将此书命名为《CTF竞赛权威指南(Pwn篇)》是给未来留出了空间期待有更多人参与进来拿出Web篇、Reverse篇、Crypto篇等更好的作品让这个系列更配得上“权威”二字。

作为一本面向初学者的书,读者中一定不乏中学生群体,全国中学生网络安全竞赛每年都在我的母校西安电子科技大学进行,今年已是第三届,颇具规模。欢迎各位报考网络与信息安全学院,这里真的是一个很棒的地方。

最后感谢我的大学室友刘晋他早期的帮助让这个项目得以成型。感谢腾讯的吴石老师他的推荐让这个成型的项目得以转换成书。感谢电子工业出版社的刘皎老师她认真细致的工作使本书得以高质量地呈现给读者。感谢eee战队谢天忆、朱梦凡、马会心和刘耕铭的审核。感谢我的学弟槐和koocola贡献了本书第11章的初稿。感谢湖北警官学院的谈楚瑜和MXYLR以及其他来自GitHub的朋友的鼓励和支持。感谢我的父母给了我选择和发展的自由让我在人生道路上没有后顾之忧。以及感谢那位不愿透露姓名的朋友遇见你曾是青春最美好的事。感谢你们

杨超 2020年11月于北京

内容简介

本书专注于Linux二进制安全。全书包含12章从二进制底层开始结合源码详细分析了常见的二进制安全漏洞、缓解机制以及漏洞利用方法并辅以分析工具和环境搭建的讲解。 本书在素材的选择上较为连续、完整,每个知识点均配以经典例题,并花费了大量篇幅深入讲解,以最大程度地还原分析思路和解题过程。读者完全可以依据本书自主、系统性地学习,达到举一反三的效果。 本书主要面向CTF初学者也适合对CTF感兴趣的人群学习。

本书结构

第1章 CTF简介介绍CTF竞赛模式、安全领域会议和学习经验。

第2章 二进制文件介绍ELF文件格式、动静态编译和程序加载过程。

第3章 汇编基础介绍必要的x86/x64汇编基础知识。

第4章 Linux安全机制介绍必要的Linux基础知识以及Pwn题中最常见的安全机制Stack Canaries、No-eXecute、ASLR、PIE、FORTIFY_SOURCE、RELRO

第5章 分析环境搭建介绍虚拟机、Docker环境的搭建和Pwn题的部署。

第6章 分析工具介绍IDA Pro、Radare2、GDB以及其他常用工具的使用方法。

第7章 漏洞利用开发介绍shellcode的基本原理以及如何用Pwntools和zio库编写漏洞利用脚本。

第8章 整数安全:介绍计算机中整数的存储方式,以及溢出、回绕、截断等安全问题。

第9章 格式化字符串:介绍格式化字符串漏洞的原理和利用方法。

第10章 栈溢出与ROP介绍栈溢出漏洞、返回导向编程的基本原理以及BROP、SROP、ret2dl-resolve等多种利用方法。

第11章 堆利用介绍glibc对内存堆块的管理方式以及unlink、off-by-one、堆块重叠等多种利用方法。

第12章 pwn技巧介绍Pwn题中常见的利用技巧和值得关注的安全问题。