零基础该如何高效学习网络安全技术

经常有人问过这样一个问题

HACK是真的这么厉害吗?

就目前而言,在HACK游戏或影视作品中

HACK所展示的能力与现实是相差无几的

(HACK帝国此种类型除外)

HACK唯一的区别是**

影视作品中的主角能够瞬控电力系统,造成城市电力瘫痪。分分钟窃听遇到的任何人。

在现实里,很有可能是一群衣衫不整、日夜颠倒的技术人员,花了几天甚至几个月才能拿到相关权限或0day(零日漏洞)

拿到后,瞬发是可以的,这是现实。

见到即能秒杀的,这是科幻。

所以,总有同学提问,如何从零成为HACK大神?

今天整理一下回答,分享给大家。

无论何事都是有“难”度的

首先,我来科普划分一下级别

(全部按小白基础,会写个表格word就行的这种)

1级;脚本小子;难度:无,达到HACK新闻”的部分水准(一分钱买iphone、黑掉母校官网挂女神照片什么的)

2级;网络安全工程师;难度:低,能凭借技术就业,当一个薪资不错的白领,不过门槛会越来越高。

3级;实验室研究员;难度:中,精通至少一门领域,审计经验出色,脚本、POC、二进制相关都了解。

4级;安全大咖级;难度:高,某一领域知识点打穿并有自己的了解建树。一个人能支撑APT某一职能的所有需求树。(其实此点和经验#时间有关,难度也与天赋没有太大关系)

所以,如果你只是想入门,想要学会一些技能,不管你基础多差,都能够照葫芦画瓢做到。

觉得入门艰难的人,恐怕三分钟热度居多。

那么如何从入门达到相应的级别呢?

1阶段、脚本小子的技能点主要在HACK工具的使用上,

所以你只需要花时间去了解下OWASP TOP 10,学习下主流的扫描器、工具、和使用方法。这些在我们的公开课里只需要六节课就能学完,属实不难。

2阶段、当你想要以此就业,就要了解下行业的现状了。

比如时下热门的网络安全工程师,工作内容到底是什么东西?毕竟,为公司创造价值是员工和公司关系维持的根本。

你会发现,主要是驻场运维 or 对客户资产系统进行HACK测试。

这时第一阶段的水平已经不能胜任了,因为甲方有钱,靠WAF防火墙都能堆出基础的安全防范。

所以,这个时候需要打基础,体系化的去学习HACK的内容。

啥内容呢?所有主流HACK手段和*HACK手法的利用,及原理。

这个阶段,找对好的教育平台是非常关键的。

因为几乎所有“安全教育培训”机构,精力都停留在单纯的CTF,或是一味追求最新的漏洞靶机上,但对于怎么做“HACK体系化教育”的意识(即如何设计教学、课程研究)其实是非常缺失的。

并且每个时期都有太多民间团队、平台,但据我们团队扶持计划的长期观察,其行为更像是在做一个社团,而不是教育本身。

——————

拿我们的课件总结一下

零基础如何学习HACK、网络安全:

一、了解系统原理,web功能系统了解

二、前端代码、后端程序设计入门

三、学会主流的安全技能原理&利用

四、学会主流漏洞的利用

五、掌握漏洞挖掘思路,技巧

最后提一下两个自学误区

1、以编程基础为方向的自学误区

行为:从编程开始掌握,前端后端、通信协议、什么都学

缺点:花费时间太长、实际向安全过渡后可用到的关键知识并不多

很多安全函数知识甚至名词都不了解 unserialize outfile

2、以***技能、兴趣为方向的自学误区:

行为:疯狂搜索安全教程、加入各种小圈子,逢资源就下,逢视频就看,只要是HACK相关的。

缺点: 就算在考虑资源质量后的情况下,能学习到的知识点也非常分散,重复性极强。

代码看不懂、讲解听不明白,一知半解的情况时而发生。

在花费大量时间明白后,才发现这个视频讲的内容其实和自己看的其他知识点是一样的。


那该怎么做?

结合起来,HACK技能兴趣在前,基础在后。 技能掌握了发现原理不清晰的,立刻去补充相关基础知识。

我们规划出的 从零基础 → HACK大咖 的体系化学习体系。

零基础新手的第一步应该是:

Web前后端基础与服务器通信原理 的了解

(所指前后端:H5、JS、PHP、SQL,服务器指:WinServer、Nginx、Apache等)

第二步:当下主流漏洞的原理与利用

此时才应该是SQL、XSS、CSRF等主流漏洞的原理与利用学习。

第三步:当下主流漏洞的挖掘与审计复现

学习前人所挖0day的思路,并且复现,尝试相同审计

这三步学习法,足够新手入门到小成了。


每个阶段的具体学习步骤呢?

第一步,搭环境。

一键化的phpstudy或lnmp不急着使用,先自己手动配,进行配置文件的关联时,你能很好的明白Web中各个零件、齿轮的供应链、运行机制、工作原理。

第二步,实战去学习。

到技能关卡,就要去实战了,当然不能直接胡乱黑,未经授权必违法!

但也不推荐去做CTF,坦白来讲,当下的CTF少有适合新手学习的。

因为题目是基本不贴近实战的,逻辑结构并不合理,而且出题手十有八九是学生,并没有从教育出发的意义,只是比赛、竞技。

那咋办捏?不让实战又不推荐做CTF。

这个时候,要挑选适合的靶场去进行练习。

当下官方的靶场虽然只有几个,民间团体的、开源的却遍地爬。

寻找像SQLI-LAB这样的带“体系化”的靶场去进行练习、实战。

第二点五步,SRC

这个时候再进行SRC的实战吧,挖真站,交漏洞。验证漏洞利用的能力。

同时SRC和CNVD也是简历上不错的加分项。

第三步,从技术分享帖(漏洞挖掘类型)学习

观看学习近十年所有0DAY挖掘的帖,然后搭建环境,去复现漏洞,去思考学习笔者的挖洞思维。

如上为我们实验室及教务团队经过9年安全教育总结出来的宝贵经验。

也是我们掌控安全学院自己所正在用的教育体系。

欢迎借鉴,感谢坚持,努力的回报可能是未知的,但不努力一定只有一场空。

注:加助教微信:zkaq111,备注暗号:163

免费领取全套HACK教学视频,详细课件,及配套实战靶场~

原文地址:https://blog.51cto.com/14551712/2475227

时间: 2024-10-07 06:46:55

零基础该如何高效学习网络安全技术的相关文章

零基础学Python应该学习哪些入门知识及学习步骤安排

众所周知,Python以优雅.简洁著称,入行门槛低,可以从事Linux运维.Python Web网站工程师.Python自动化测试.数据分析.人工智能等职位,薪资待遇呈上涨趋势.很多人都想学习Python,那么零基础学Python应该学习哪些入门知识呢? Python入门知识一:解释器. Python是一种面向对象的解释型计算机程序设计语言,因此想要学好Python你必须要了解解释器.由于Python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写Python解释器来执行

教你从零基础小白开始怎么学习C语言

想窥探神秘的代码世界?最好的入口无疑就是C语言. C语言是计算机体系结构的基础,向下可以操作硬件(包括ARM,DSP,单片机等各种微处理器),还可以写驱动,写OS,写编译器.向上可以进一步的学习C++,JAVA等面向对象语言,再学习一些图形用户界面框架,比如Qt,MFC,就可做出类似于计算器.QQ等Window桌面应用,再比如Android,就可以做出微信等Android应用,再比如Unity3D,就可以做出类似王者荣耀.刺激战场等手游.想想是不是就有点小激动呢!最后,如果大家如果在自学遇到困难

C语言零基础项目驱动式学习第四天

//类型修饰符  数组名[数组元素个数] = {初始化}; //定义数组的时候[]中必须是常量表达式, 不可以是变量; /* int age[5] = {21, 18, 25, 20, 18}; int array[10] = {0};//代表数组中有10个元素, 每个都是0; int array1[8] = {1};//代表数组中有8个元素,第一个是1,其余的为0; int age2[2 + 3] = {0}; */ //定义数组和使用数组的最大区别是, 前面是否有类型修饰符 //使用数组元素

C语言零基础项目驱动式学习第二天

//BOOL 类型是一种非真即假的数据类型,取值只有YES和NO, //BOOL 其实是OC中得数据类型,在C语言中,认为非0即为真. //BOOL 类型规定的存储空间为一个字节. //    BOOL a = YES; //    BOOL b = NO; //    printf("a = %d, b = %d\n", a, b); //    int a = 15, b = 18; //    BOOL c = a > b; //    printf("c = %

C语言零基础项目驱动式学习第三天

一 while循环二do   while循环三 for循环for循环的执行顺序用如下表达式: for(expression1;expression2;expression3)        循环变量初值; 循环条件; 循环变量增量  {                expression4; }       执行的顺序应该是: 1)第一次循环,即初始化循环.      首先执行表达式expression1(一般为初始化语句):再执行expression2(一般为条件判断语句),判断express

C语言零基础项目驱动式学习第一天

引言: 智能手机(Smart Phone)是一种运算能力及功能比传统手机更强的手机.目前的操作系统基本上有以下几种: 1. Symbian Os 众所周知塞班隶属于NOKIA,Symbian开发之初的目标是保证在较低资源的设备上能长时间的运行,这导致了塞班的应用程序开发有着较为陡峭的学习路线,开发成本高,但是程序的运行的效率很高> 2.Android 开源, 联盟,Android凝聚了几乎遍布全球的力量,这是Android形象及声音能够被传到全球移动互联网市场每一个角落的根本原因.不过, 1).

零基础快速入门web学习路线(含视频教程)

下面小编专门为广大web学习爱好者汇总了一条完整的自学线路:零基础快速入门web学习路线(含视频教程)(绝对纯干货)适合初学者的最新WEB前端学习路线汇总! 在当下来说web前端开发工程师可谓是高福利.高薪水的职业了.所以现在学习web前端开发的技术人员也是日益增多了,但是在学习web前端开发中盲目的去学习而没有一个完整的思路和学习路线也是不行的. 成为一个合格的web前端开发工程师的具备什么条件? 熟练的掌握HTML.CSS.JS.JQ等最基本的技术. 现在,只掌握这些已经远远不够了.无论是开

零基础大数据新手学习路线教程

大数据-数据挖掘,越来越火,90%的企业都在运用或者都想要利用大数据为其带来更便利的服务,从而大数据高端软件类人才可谓供不应求. 如何学好大数据? 第一阶段:大数据新手入门系统教程Java+MySQL+关系型数据库+阿里巴巴<码出高效>编码规约 知识点 一.Java基础入门:Java编程入门:Java编程初体验,Java运行机制; Java语法基础:Java程序的组织形式与命名规则,变量类型和定义,表达式和运算符; 程序的流程结构:分支结构,循环结构;函授:函数的定义,函数调用,函数递归定义和

编程零基础应当如何开始学习 Python?

提前说一下,这篇福利多多,别的不说,直接让你玩回最有手感的怀旧游戏,参数贴图很方便自己可以根据喜好修改哦. 本篇通过以下四块展开,提供大量资源对应. 选一个好版本 有没有看过<在下坂本,有何贵干?>那个坂本可以装B,Python的版本则是你的工作环境. 首先,在学习之前一定会考虑一个问题--Python版本选择对于编程零基础的人来说,选择Python3. 1.学习基础知识 首先,Python 是一个有条理的.强大的面向对象的程序设计语言.建议从下面课程开始: Python 教程 Python