热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

小白怎么系统的自学计算机科学和黑客技术?

我把csdn上有关自学网络安全、零基础入门网

我把csdn上有关自学网络安全、零基础入门网络安全的回答大致都浏览了一遍,最大的感受就是“太复杂”,新手看了之后只会更迷茫,还是不知道如何去做,所以站在新手的角度去写回答,应该把回答写的简单易懂,“傻瓜式”的一步步告诉他们应该怎么去做

在文章的后半部分,我会把一套完整的教学视频发给大家直接学。

1、安全基础(Linux+MySQL+Python)

网络安全这个行业对于编程开发这一块还是有一定要求的,举个简单的例子,你如果想渗透某个网站,那你首先要知道如何去开发一个网站,你连最基本的sql语句都不会写,那又何谈去做sql注入呢。

所以对各种网络通信协议,对密码学,对前后端,数据库,服务器,shell脚本等内容没有一定的了解,又怎么可能成为一个优秀的hacker呢。

要想控制一个人,首先你要了解他,你才能知道他的弱点,最后才能施展你的手段。

但无论哪个过程,都需要花费很长的时间与精力去学习与钻研。

上面这部分是学习网络安全必备的基础,这部分内容没有多大难度,也没有任何的逻辑性难度,只要多练多看,这部分内容就是熟能生巧的事情。

2、安全入门(黑客工具+漏洞挖掘)

有了前面的计算机网络和编程基础,这一阶段就可以来正式入门网络安全了。

网络安全领域内几大典型的攻击手法:SQL注入、XSS、CSRF、SSRF、文件上传漏洞等等,每一个都需要详细学习,一边学习理论,一边动手实践。

对了,在这里友情提示一下:

千万注意别拿互联网上的网站来攻击学习!

千万注意别拿互联网上的网站来攻击学习!

千万注意别拿互联网上的网站来攻击学习!

这是违法的行为,重要的事情说三遍

在学习的过程中,你自己可以在虚拟机中搭建一些包含漏洞的网站,拿自己建的网站练手,具体的实战靶场,我在后面也会给大家进行讲解。

除了这些攻击方法,这个时候我们也需要对常用渗透工具有一些简单的了解,这也是大部分同学非常感兴趣的一个版块,因为学会这些工具的使用,就可以晋升成为一个脚本小子了。

包含AWVS、sqlmap、Burp、nessus、chopper、nmap、Appscan等相关工具的使用。

了解该类工具的用途和使用场景,先用软件名字Google/百度,然后下载无后门版的这些软件进行安装;

确立目标:找一份15K的网络安全岗位工作

如果你只是想成为一个脚本小子或学着随便玩玩,就不需要再往下看了。下面的内容是写给想要从事网络安全工作人看的,还需要至少学习3个月的时间才能完成。

我在最上面说过对于新手来说,对他们最友好的方式就是给他们一套从零基础学习最完整的视频教程,然后告诉他们:你只需要把这教程的全部内容都学会,把所有的作业、案例、项目都用代码写出来,你就可以找到一份网络安全的工作。这样是对于新手最简单粗暴的方式,如果我们写的过于专业,他们只会越看越迷茫,对于新手来说就是越简单越好,傻瓜式的学习最有效果。

3、安全进阶(内网渗透+DDos攻防+社会工程学)

前面学习了一些Web安全的攻击手法,但光有这些还不够,当我们有流量攻击目标后,如何寻找攻击点,获取目标的信息至关重要。

这些信息包括:目标运行了什么操作系统,开放了哪些端口,运行了哪些服务,后端服务是什么类型,版本信息是什么等等,有哪些漏洞可以利用,只有获取到了这些信息,才能有针对性的制定攻击手段。

除此之外,外网环境和内网环境是不一样的,别到时候从外面渗透,进到里面之后傻眼了,因此收集内部信息的技巧也是重中之重,比如渗透测试架构和windows密码凭证收集等等。

真正意义上的网络渗透,我觉得应该不只是使用一些现成的工具,去挖一些上古时代的漏洞,而是拥有很强大的自学和分析、解决问题能力,再调用十八般武艺去攻破某个站点。里面不乏自己编写写脚本与工具,自己发现新的攻击注入方式。

4、核心能力(安全管理+逆向免杀+代码审计)

到了安全攻防的后期阶段,想成为一个安全高手,绝不只是固步自封在自己擅长的领域,需要多学习网络安全的其他领域,拓展自己的知识面。

比如等级保护、应急响应、风险评估、逆向免杀、代码审计、二进制漏洞攻击、木马技术、内核安全、移动安全、侧信道攻击等等,当然在学习的时候,不用像专业方向的同学那么深入,但需要涉猎了解,丰富自己的知识面,构建全方位的网路安全知识技能栈。

5、小结

网络安全要学习的内容非常多非常杂,我以前写过一篇关于网络安全技术知识点的文章,下面评论的人都说内容太多了,根本就学不完之类的话。后来我吸取了教训,对于新手一定要简单粗暴,不能太过于复杂,越是复杂新手看的越迷茫。所以我这次写的内容是精简,初步入行学习这些内容就足够了。

6、大多数人必然会放弃:

这件事情,或者说这个职业。首先你得初衷不能是因为赚钱,因为太容易走歪了,黑产盛行,巨大的利益不断诱惑着通往技术的心,圈内这种沉不下心来浮躁的环境影响了太多的人,当初一起的朋友,现在还有在里面没出来的。

网络安全涉及的方面太广,对于我们来讲,不是因为这是个工作,而是因为浓厚的求知欲,浓厚的兴趣所引导。

而没有浓厚的兴趣引导很容易半途而废,原因大部分在于,这个东西并不是想象中的那么美好,学的东西太多 且枯燥 你要承担短时间内没有回报的结果,这很容易让人放弃。

当然你决心要学的话,我想还是得先学习网络基础,网络交互原理。最好先把TCP/IP啃一遍。有了基础再学习漏洞原理,然后学一门语言 来拓扑漏洞的存在原理,到后期可以自己写工具。由浅入深,知其然知其所以然。

7、如何找工作?

学习网络安全我建议在北京、上海、杭州、深圳这样的一线或新一线城市去找,发展一般的城市网络安全很难有立足之地,想要达到月薪30K以上,只能选择这些城市。

去招聘网站投简历肯定是机会最多的一种方式,但很多人的简历写的很差,所以写简历也是—门技术。

只要简历写的好,就有很多的面试机会,面试50家还拿不到10家offer吗?到时候工作就随便你找,前提也是技术能力过关。

还有一种方式就是通过别人介绍,其实在到后来,有了5年工作经验以后,就不需要投简历自己去找,如果你是一个优秀的程序员,就会有很多猎头去挖你。

目前这市场上的网络安全人员虽然多,但真正能称得上比较优秀的很少。所以多认识一些猎头或者HR,给自己以后铺路,这都是需要提前准备的,说白了能靠关系尽量靠关系。

如果你在大公司里面有认识的人,那么你想要进去就会方便很多,给你一个内推的机会,只要能过了技术这关,就进本能拿到offer。

找工作能往大厂进就去大厂,大厂福利待遇好,而且工资都稳定,不会出现发不出工资的情况。有了大厂的工作背景和项目背景后,以后在跳槽其他公司都会被疯抢,就不会在担心找不到工作的问题。

8、总结

以上就是我对刚入行网络安全的朋友的一些个人的建议,最后有一点需要说明一下:

上面列举到的不同方向的技术不是严格意义独立的,相反,很多时候是相辅相成,需要结合起来,融会贯通。

每个人的认知是有限的,我也不例外。本篇回答只是我的一家之言,建议大家多看一些人的总结和经验,横向对比,兼听则明,偏听则暗。

如果你想通过自学进入网络安全这一行,我可以把我自己整理收藏的这些教程分享给你,里面不仅有web安全,还有渗透测试等等内容,包含电子书、面试题、pdf文档、视频以及相关的课件笔记,大部分我都看过,感觉还不错,如果需要的话可以评论区告诉我,或者点击蓝色字体获取奥

如果觉得有帮助的话,可以帮我点赞收藏一下,写的不对或不清楚的地方,也欢迎大家在评论区指出,谢谢!


推荐阅读
  • Golang与微服务架构:构建高效微服务
    本文探讨了Golang在微服务架构中的应用,包括Golang的基本概念、微服务开发的优势、常用开发工具以及具体实践案例。 ... [详细]
  • 去控件化在线文档处理,推动高效信创办公环境
    探讨在线文档处理去控件化的趋势及其对构建高效信创办公生态的影响。 ... [详细]
  • Python中调用Java代码的方法与实践
    本文探讨了如何在Python环境中集成并调用Java代码,通过具体的步骤和示例展示了这一过程的技术细节。适合对跨语言编程感兴趣的开发者阅读。 ... [详细]
  • 本文深入探讨了分布式文件系统的核心概念及其在现代数据存储解决方案中的应用,特别是针对大规模数据处理的需求。文章不仅介绍了多种流行的分布式文件系统和NoSQL数据库,还提供了选择合适系统的指导原则。 ... [详细]
  • 本文档提供了详细的MySQL安装步骤,包括解压安装文件、选择安装类型、配置MySQL服务以及设置管理员密码等关键环节,帮助用户顺利完成MySQL的安装。 ... [详细]
  • Navicat Premium中MySQL用户管理:创建新用户及高级设置
    本文作为Navicat Premium用户管理系列的第二部分,主要介绍如何创建新的MySQL用户,包括设置基本账户信息、密码策略、账户限制以及SSL配置等。 ... [详细]
  • 解析 HTTP 头 'Vary: Accept-Encoding' 的作用与重要性
    本文详细探讨了 'Vary: Accept-Encoding' HTTP 头的作用,即指导缓存系统(如代理服务器和 CDN)根据不同的编码需求存储和提供适当的资源版本,确保不同类型的客户端能够接收到适合自己的内容。 ... [详细]
  • 四月个人任务:Linux基础操作与网络管理
    本文介绍了两项主要任务:编写一个脚本来检测192.168.1.0/24子网中当前在线的IP地址,以及如何在Linux系统中挂载Windows网络共享目录。通过具体步骤和代码示例,帮助读者理解和掌握相关技能。 ... [详细]
  • 本文面向非计算机专业背景的编程爱好者,介绍如何仅使用基础的C语言知识——二维数组和结构体,无需掌握复杂的数据结构如链表,即可编写一款经典的贪食蛇游戏。通过本教程,您将了解游戏开发的基本原理和实现方法。 ... [详细]
  • 美国网络安全:MITRE Shield 积极防御知识库解析
    本文深入解析了MITRE Shield积极防御知识库,探讨其在网络安全领域的应用及意义。 ... [详细]
  • J2EE平台集成了多种服务、API和协议,旨在支持基于Web的多层应用开发。本文将详细介绍J2EE平台中的13项关键技术规范,涵盖从数据库连接到事务处理等多个方面。 ... [详细]
  • 代码生成器实战教程:提升编程效率的利器
    本系列文章旨在通过一系列实践案例,详细介绍如何利用代码生成器提高开发效率。本文将引导您完成从下载安装到实际应用的全过程。 ... [详细]
  • 本文探讨了SQLAlchemy ORM框架中如何利用外键和关系(relationship)来建立表间联系,简化复杂的查询操作。通过示例代码详细解释了relationship的定义、使用方法及其与外键的相互作用。 ... [详细]
  • Cadence SPB 16.5 安装指南与注意事项
    本文提供了详细的 Cadence SPB 16.5 安装步骤,包括环境配置、安装过程中的关键步骤以及常见问题的解决方案。适合初次安装或遇到问题的技术人员参考。 ... [详细]
  • 深入探讨Web服务器与动态语言的交互机制:CGI、FastCGI与PHP-FPM
    本文详细解析了Web服务器(如Apache、Nginx等)与动态语言(如PHP)之间通过CGI、FastCGI及PHP-FPM进行交互的具体过程,旨在帮助开发者更好地理解这些技术背后的原理。 ... [详细]
author-avatar
mobiledu2502923963
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有