网络安全入门指南:从基础题到专业知识,全面准备CTF赛场
2、从基础问题开始。在学习过程中,适当做一些理论知识的练习,加强理论理解;

3、那么你需要学习专业的信息安全知识。建议在专业老师的指导下进行;
4、锻炼身体耐力。需要进行适当的体能训练,模拟CTF赛场,避免紧张;
5、建议阅读一些专业书籍,如《RE初学者》、《IDA PRO权威指南》、《揭秘家用路由器0day漏洞挖掘技术》、《编写你自己的操作系统》等。
当然,对于那些网络安全零基础知识的人,我还准备了详细的网络安全入门教程。
一、学习网络安全的一些前期准备
1.硬件选型
经常有人问我“学习网络安全需要高配置的电脑吗?”答案是否定的。黑客使用的电脑配置不需要太高,只要稳定就可以。因为黑客使用的一些程序需要低端CPU。它可以很好地运行并且不占用太多内存。还有一点就是,黑客攻击是在DOS命令下完成的,这样电脑才能发挥到最佳状态!所以,不要以学习的名义购买新机器......
2.软件选型
很多人对于是使用Linux、Windows还是Mac来学习黑客技术感到困惑。 Linux虽然看起来很酷,但是对于新手来说并不友好。 Windows系统也可以使用虚拟机安装目标机器进行学习。
对于编程语言来说,Python因其良好的扩展支持而成为首选。当然,市面上很多网站都是用PHP开发的,所以选择PHP是可以的。其他语言包括C++、Java……
很多朋友会问是否有必要学习所有语言?答案是否定的!引用我上面的一句话:学习编程只是一个工具,而不是目的。我们的目标不是成为程序员。
(这里额外提一下的是,学习编程虽然不能让你入门,但它可以决定你在网络安全的道路上能走多远,所以建议你自学一些基础的编程知识)
3.语言能力
我们知道计算机最早是在西方发明的。许多术语或代码都是英文的。甚至一些现有的教程最初是从英文原版翻译而来的。发现漏洞并翻译成中文通常需要一周的时间。这个时间差,漏洞可能已经被修补了。而如果你不懂一些专业术语,你在与其他黑客交流技术或经验时就会遇到障碍,所以你需要一定的英语和黑客术语(不需要特别精通,但需要能够理解基础知识)
例如:肉鸡、木马、shell、WebShell等。
2.网络安全学习路线
第一阶段:基础操作入门,基础知识学习
入门的第一步就是学习一些当前主流的安全工具课程和基本原理的书籍。一般来说,这个过程大约需要一个月的时间。
在此阶段,您已经对网络安全有了基本的了解。如果你完成了第一步,相信你已经从理论上理解了上面什么是SQL注入,什么是XSS攻击,并且已经掌握了burp、msf、cs等安全工具的基本操作。这个时候最重要的就是开始打基础!
所谓“打基础”,其实就是计算机基础知识的系统学习。想要学好网络安全,首先要具备5个基础知识模块:
1. 操作系统
2.协议/网络
3.数据库
4. 开发语言
5. 常见漏洞原理
学习这些基础知识有什么用呢?
计算机各个领域的知识水平决定了你渗透水平的上限。
[1] 例如:如果你的编程水平很高,那么你在代码审计方面就会比别人做得更好,你写的漏洞利用工具也会比别人更容易使用;
[2] 比如:如果你有较高的数据库知识,那么在进行SQL注入攻击时,你可以写出更多更好的SQL注入语句,绕过别人无法绕过的WAF;
[3] 例如:如果你的网络级别高,那么当你渗透内网时,你比别人更容易了解目标的网络架构。如果您获得网络拓扑,您就可以知道您所在的位置以及路由器的配置。文件,你就会知道他们做了什么路由;
【4】再比如,如果你的操作系统好,你的权利就会更强,你的信息收集效率就会更高,你可以高效地过滤掉你想要获取的信息。
第二阶段:实战操作
1. 挖矿SRC
挖SRC的目的主要是为了将技能付诸实践。学习网络安全最大的错觉就是感觉自己什么都知道,但是到了真正挖掘漏洞的时候却无能为力。 SRC是一个非常好的应用技能的机会。
2、技术分享帖学习(漏洞挖掘类型)
观看和研究近十年来所有0day挖矿帖子,然后搭建环境复现漏洞,思考和学习作者的挖掘思维,培养自己的渗透思维
3. 射击场练习
建立自己的射击场或去免费射击场网站练习。如果可能的话,可以购买或者报名可靠的培训机构,通常有配套的射击场练习。
3. 学习资料推荐
推荐书籍清单:
计算机操作系统:
【1】编码:隐藏在计算机软硬件背后的语言
【2】深入理解操作系统
【3】深入了解Windows操作系统
【4】Linux内核及实现
编程开发类:
【1】windows编程
【2】windwos核心变成
【3】Linux编程
【4】unix环境进阶改造
【5】IOS变成
【6】Android第一行代码
【7】C程序设计语言设计
【8】C引物加
【9】C与指针
【10】C专家编程
【11】C陷阱与缺陷
【12】汇编语言(王爽)
【13】java核心技术
【14】java编程思想
【15】Python核心编程
【16】Linuxshell脚本策略
【17】算法简介
【18】编译原理
【19】编译与反编译技术实战
【20】如何清理你的代码
【21】代码百科
【22】TCP/IP详解
【23】Rootkit:潜伏在系统灰色区域的人
【24】黑客攻防技术指南
【25】加密与解密
【26】C++反汇编和逆向分析技术揭晓
【27】网络安全测试
【28】白帽子谈网络安全
【29】精通脚本黑客
【30】Web前端黑客技术曝光
【31】程序员申请
【32】英语写作手册:风格要素