首先是选择方向的问题,网络安全是一个很宽泛的专业,包含的方向特别多。比如 web安全,系统安全,无线安全
,二进制安全,运维安全,渗透测试,软件安全,IOT安全,AI安全等等,具体看你想学习哪方面,你一般听到的是web安全,搞个站,玩玩xss,命令注入等等。你可以从大纲中找到你要学习的方向和技能。
如图片过大被平台压缩导致看不清的话,大家记得点个关注,关注之后后台会自动发送给大家!
我的的学习方法论分为三个方面,很直接有效,贵在坚持。
明确目标
学以致用细化你的目标
制定具体的学习内容反馈
1.明确目标,学以致用
你首先要明确学习网络安全的目标,你是想打CTF比赛,还是当个白帽挖CVE洞,还是想写个软件保护壳,开源个安全项目等,目标不同,你的学习路径也是不同的。不建议立即从基础学起,肯定有人给你说学c,学数据结构,学算法,学汇编等等,其实这是不聪明的,目标导向:之前说的每一门都是个大学科,其实用到安全上的 并不多,如果你在暂时用的不多的内容上花费了很多时间,那么你什么时候才能实现自己的目标呀,人的精力是有限的,永远准备好再出发,那是小学生的学习思路。
2.细化你的目标,制定具体的学习内容
例如咱们定个目标,写一个PE的保护壳,那你首先要做的是什么呢? 先去google 搜索 PE的保护壳有哪些种?比如压缩壳,加密壳,虚拟机等等,难度高低怎么样?对于入门者来说,压缩壳相对简单,那就从这个开始学。接着去github或者google搜索 开源的PE压缩壳和相应的教程。发现PE压缩壳有用汇编写的,有用C,C++写的,这个时候咱们可以先选择汇编来写。然后就查询一下压缩壳原理的教程和书籍,比如书籍推荐《加密与解密》,对比着开源壳的代码去理解,如果汇编不懂,找到一本汇编书,比如王爽的汇编入门书籍,不要全看完,对比着壳代码 看到哪去学哪。整体的学习过程变成了:PE保护壳 -》 压缩壳 -》 汇编压缩壳 -》搜索开源代码和原理教程 -》 对比着壳代码,看汇编书籍理解将目标越来越细化,你就越清楚自己做什么。
学习是一个不断反馈的过程,你在第2步的学习过程中,作为初学者肯定不会这么顺利,看看开源代码也会遇到不懂得地方,自己写的代码得时候肯定也会调试不通,这时候就接着去找资料,看书,调试,搞懂。
正常得学习过程一般是:
学习 -》应用-》反馈-》接着学习
其实书籍是非常系统的,非常适合入门,可以让你掌握这个领域的基本内容,但是时效性可能不会很高。我建议选择看哪个方面的书,不要人云亦云,肯定很多人让你学操作系统原理,学算法等等,这其实是不符合学习规律的,学什么就找对应的书籍学习,而不是从最基础的开始学。下面是我推荐的几本书籍。
《编码:隐匿在计算机软硬件背后的语言》 【美】Charles Petzold
《深入理解计算机系统》【美】Randal E.Bryant
《深入理解Windows操作系统》【美】Russinovich,M.E.;Solomon,D.A.
《Linux内核设计与实现》【美】Robert Love
《深入理解Android内核设计思想》林学森
《Android系统源代码情景分析》罗升阳
《深入理解Mac OS X & iOS操作系统》【美】Jonathan Levin
《深入理解Linux内核》 【美】DanielP.Bovet
《代码揭秘:从C/C++的角度探秘计算机系统》左飞
《Android Dalvik虚拟机结构及机制剖析(第1、2卷)》吴艳霞;张国印
《Android Internals::Power User’s View》【美】Jonathan Levin,中译本《最强Android书:架构大剖析》
在这里插入图片描述
《Windows程序设计》【美】Charles Petzold
《Windows核心编程》【美】Jeffrey Richter
《Windows环境下32位汇编语言程序设计》罗云彬
《Windows驱动开发技术详解》张帆
Linux/Unix
《UNIX环境高级编程》【美】W.Richard Stevens;Stephen A.Rago
《Linux程序设计》【美】Neil Matthew;Richard Stones
《Linux设备驱动程序》【美】Jonathan Corbet;Alessandro Rubini;Gerg Kroah-Hartman
macOS/iOS
《iOS编程》【美】Christian Keur;Aaron Hillegass
《OS X与iOS内核编程)【澳】Halvorsen,O.H.;Clarke,D
Android
《第一行代码——Android》郭霖
《Android编程权威指南》【美】Brian Hardy;BillPhillips
编程语言
C·
《C语言程序设计》【美】Brian W.Kernighan;Dennis M.Ritchie
《C Primer Plus》【美】Stephen Prata,入门书籍
《C和指针》【美】Kenneth A.Reek
《C陷阱与缺陷》【美】Andrew Koenig
《C专家编程》【美】Peter van der Linden
C++
《C++ Primer Plus》【美】Stephen Prata,入门书籍
《C++ Primer》【美】Stanley B.Lippman;Josée Lajoie;Barbara E.Moo,进阶书籍
ASM
《Intel汇编语言程序设计》【美】Kip Irvine
《Intel开发手册》
《汇编语言(第3版)》王爽
《x86汇编语言:从实模式到保护模式》李忠
Java
《Java核心技术》【美】Cay S.Horstmann;Gary Cornell,入门书籍
《Java 编程思想》【美】Bruce eckel,进阶书籍
JavaScript
《JavaScript DOM编程艺术》【美】Jeremy Keith;【加】Jeffrey Sambells
《JavaScript高级程序设计》【美】Zakas.Bicholas C.
《Vue.js项目开发实战》张帆
Python
《Python核心编程(第2版)》【美】Wesley J·Chun
Shell
《Linux Shell脚本攻略》【印】Sarath Lakshman
网络技术
《TCP/IP详解(卷1:协议)》【美】Kevin R.fall;W.Richard Stevens
《Wireshark数据包分析实战》【美】Chris Sanders
安全技术
安全开发
《天书夜读:从汇编语言到Windows内核编程》谭文;邵坚磊
《Rootkit:系统灰色地带的潜伏者》【美】Bill Blunden
《Rootkits——Windows内核的安全防护》【美】Gerg Hoglund;James Butler
《BSD ROOTKIT设计——内核黑客指引书》【美】Joseph Kong
《寒江独钓:Windows内核安全编程》谭文;杨潇;邵坚磊
逆向工程
《加密与解密》段钢
《恶意软件分析诀窍与工具箱——对抗“流氓”软件的技术与利器》【美】Michael Hale Ligh;Steven Adair
《C++反汇编与逆向分析技术揭秘》钱林松;赵海旭
《IDA权威指南》【美】Chris Eagle
《逆向工程权威指南》【乌克兰】Dennis Yurichev,多平台入门大全
《Android软件安全与逆向分析》丰生强
《macOS软件安全与逆向分析》丰生强
《iOS应用逆向工程(第2版)》沙梓社;吴航
Web安全
《黑客攻防技术宝典:Web实战篇》【美】Marcus Pinto,Dafydd Stuttard
《白帽子讲Web安全》吴翰清
《Web安全测试》【美】Paco Hope;Ben Waltber
《Web前端黑客技术揭秘》钟晨鸣;徐少培
《精通脚本黑客》曾云好
软件/系统安全
《0day安全:软件漏洞分析技术(第2版)》王清,入门书籍
《漏洞战争:软件漏洞分析精要》林桠泉,进阶书籍
《捉虫日记》【德】Tobias Klein,进阶书籍
《黑客防线2009缓冲区溢出攻击与防范专辑》
《内核漏洞的利用与防范》【美】Enrico Perla;Massimiliano Oldani
《Fuzzing for Software Security Testing and Quality Assurance(第2版)》【美】Charlie Miller,博文视点翻译中
《iOS Hackers’s Handbook》【美】Charlie Miller,不推荐中文版
《The Mac Hacker’s Handbook》【美】Charlie Miller
《Android安全攻防权威指南》【美】Joshua J.Drake;【西】Pau Oliva Fora;【美】Collin Mulliner
《The Art of Softwar Security Assessment:Identifying and Preventing Software Vulnerabilities》【美】Mark Dowd
《Android Security Cookbook》【美】Keith Makan; Scott Alexander-Bown,中译本《Android安全攻防实战》
《模糊测试-强制性安全漏洞挖掘》【美】Michael Mutton
《Exploit编写系列教程》【美】Corelan Team
《MacOS and iOS Internals,Volume Ⅲ: Security & Insecurity》【美】Jonathan Levin,博文视点翻译中
《灰帽黑客:正义黑客的道德规范、渗透测试、攻击方法和漏洞分析技术》【美】Allen Harper;Shon harris
《威胁建模:设计和交付更安全的软件》【美】Adam Shostack
最后祝你早日成功,如果能帮助你,希望给个友情三连,同时关注我的动态,我最新的技术文章就可以看到!