零基础如何自学黑客 / 渗透 / 网络安全?

什么是网络安全?

首先说一下什么是网络安全?其中网络安全工程师的工作内容具体都有哪些?

网络安全是确保网络系统的硬件、软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而受到破坏、更改、泄露,系统连续可靠正常地运行,保障网络服务不被中断。

而网络安全工作现在可以细分为很多岗位,包括有系统安全工程师、网络安全工程师、Web安全工程师、安全架构师等等,具体的会根据公司业务需求来划分。

如何成为一名优秀的网络安全工程师?

这里可以参考下面这张成长路线图:

(上传一直很模糊,所以就没有展开了,需要高清版的可以在文末领取) 

怎么入门?

我们落到具体的技术点上来,网络安全学习路线,整体学习时间大概半年左右,具体视每个人的情况而定。

如果你把每周要学的内容精细化到这种程度,你还会担心学不会,入不了门吗,其实说到底就是学了两个月,但都是东学一下,西学一下,什么内容都是浅尝辄止,没有深入进去,所以才会有学了2个月,入不了门这种感受。

1、Web安全相关概念(2周)

  • 熟悉基本概念(SQL注入、上传、XSS、CSRF、一句话木马等);
  • 通过关键字(SQL注入、上传、XSS、CSRF、一句话木马等)进行Google/SecWiki;
  • 阅读《精通脚本黑客》,虽然很旧也有错误,但是入门还是可以的;
  • 看一些渗透笔记/视频,了解渗透实战的整个过程,可以Google(渗透笔记、渗透过程、入侵过程等);

2、熟悉渗透相关工具(3周)

  • 熟悉AWVS、sqlmap、Burp、nessus、chopper、nmap、Appscan等相关工具的使用;
  • 了解该类工具的用途和使用场景,先用软件名字Google/SecWiki;
  • 下载无后门版的这些软件进行安装;
  • 学习并进行使用,具体教材可以在SecWiki上搜索,例如:Brup的教程、sqlmap;
  • 待常用的这几个软件都学会了可以安装音速启动做一个渗透工具箱;

3、渗透实战操作(5周)

掌握渗透的整个阶段并能够独立渗透小型站点。 网上找渗透视频看并思考其中的思路和原理,关键字(渗透、SQL注入视频、文件上传入侵、数据库备份、dedecms漏洞利用等等);

  • 自己找站点/搭建测试环境进行测试,记住请隐藏好你自己;
  • 思考渗透主要分为几个阶段,每个阶段需要做那些工作;
  • 研究SQL注入的种类、注入原理、手动注入技巧;
  • 研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等;
  • 研究XSS形成的原理和种类,具体学习方法可以Google/SecWiki;
  • 研究Windows/Linux提权的方法和具体使用;

4、关注安全圈动态(1周)

  • 关注安全圈的最新漏洞、安全事件与技术文章;
  • 通过SecWiki浏览每日的安全技术文章/事件;
  • 通过Weibo/twitter关注安全圈的从业人员(遇到大牛的关注或者好友果断关注),天天抽时间刷一下;
  • 通过feedly/鲜果订阅国内外安全技术博客(不要仅限于国内,平时多注意积累),没有订阅源的可以看一下SecWiki的聚合栏目;
  • 养成习惯,每天主动提交安全技术文章链接到SecWiki进行积淀;
  • 多关注下最新漏洞列表,推荐几个:exploit-db、CVE中文库、Wooyun等,遇到公开的漏洞都去实践下。
  • 关注国内国际上的安全会议的议题或者录像,推荐SecWiki-Conference;

5、熟悉Windows/Kali Linux(3周)

  • 学习Windows/Kali Linux基本命令、常用工具;
  • 熟悉Windows下的常用的cmd命令,例如:ipconfig,nslookup,tracert,net,tasklist,taskkill
  • 等;
  • 熟悉Linux下的常用命令,例如:ifconfig,ls,cp,mv,vi,wget,service,sudo等;
  • 熟悉Kali Linux系统下的常用工具,可以参考SecWiki《Web Penetration Testing with Kali Linux》、《Hacking with Kali》等;
  • 熟悉metasploit工具,可以参考SecWiki、《Metasploit渗透测试指南》;

6、服务器安全配置(3周)

  • 学习服务器环境配置,并能通过思考发现配置存在的安全问题;
  • Windows2003/2008环境下的IIS配置,特别注意配置安全和运行权限,;
  • Linux环境下的LAMP的安全配置,主要考虑运行权限、跨目录、文件夹权限等;
  • 远程系统加固,限制用户名和口令登陆,通过iptables限制端口;
  • 配置软件Waf加强系统安全,在服务器配置mod_security等系统;
  • 通过Nessus软件对配置环境进行安全检测,发现未知安全威胁;

7、脚本编程学习(4周)

  • 选择脚本语言Perl/Python/PHP/Go/Java中的一种,对常用库进行编程学习;
  • 搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;
  • Python编程学习,学习内容包含:语法、正则、文件、网络、多线程等常用库,推荐《Python核心编程》,不要看完;
  • 用Python编写漏洞的exp,然后写一个简单的网络爬虫;
  • PHP基本语法学习并书写一个简单的博客系统,参见《PHP与MySQL程序设计(第4版)》、视频;
  • 熟悉MVC架构,并试着学习一个PHP框架或者Python框架(可选);
  • 了解Bootstrap的布局或者CSS;

8、源码审计与漏洞分析(3周)

  • 能独立分析脚本源码程序并发现安全问题。
  • 熟悉源码审计的动态和静态方法,并知道如何去分析程序;
  • 从Wooyun上寻找开源程序的漏洞进行分析并试着自己分析;
  • 了解Web漏洞的形成原因,然后通过关键字进行查找分析;
  • 研究Web漏洞形成原理和如何从源码层面避免该类漏洞,并整理成checklist。

9、安全体系设计与开发(5周)

  • 能建立自己的安全体系,并能提出一些安全建议或者系统架构。
  • 开发一些实用的安全小工具并开源,体现个人实力;
  • 建立自己的安全体系,对公司安全有自己的一些认识和见解;
  • 提出或者加入大型安全系统的架构或者开发;

最后我也给大家整理了一些学习资料笔记等,大部分都是比较不错的,希望对大家有帮助!

【一>所有工具、面试题、脚本获取,点击这里<一】

最后,给大家整理了一个简单的学习方法,可以借鉴:

1. 多看书

阅读永远是最有效的方法,尽管书籍并不一定是最好的入门方式,但书籍的理解需要一定的基础;但是就目前来看,书籍是比较靠谱的入门资料。

例如:《黑客攻防---web安全实战详解》《Web前端黑客技术揭秘》《安全之路:Web渗透技术及实战案例解析(第2版)》

现在Web安全书籍比较多,因此大家在学习的过程中可以少走了不少的弯路。如果以上推荐书籍阅读有困难,那就找自己能看得进的 Web 安全的书。

当然纸上谈兵终觉浅,不实践一下怎么好呢。

2.常用工具的学习

1.Burpsuite学习 Proxy 抓包改包学习 Intruder 爆破模块学习实用 Bapp 应用商店中的插件2.Nmap使用 Nmap 探测目标主机所开放的端口使用 Nmap 探测目标主机的网络服务,判断其服务名称及版本号3.SQLMap对 AWVS 中扫描出的 SQL 注入漏洞使用 SQLMap 进行数据获取实践常见漏洞类型的挖掘与利用方

3.学习开发

1.书籍《细说 PHP》

2.实践使用 PHP 写一个列目录的脚本,可以通过参数列出任意目录的列表使用 PHP 抓取一个网页的内容并输出使用 PHP 抓取一个网页的内容并写入到Mysql数据库再输出。

也可以找一培训班,系统的学习一下,都是可以的。

尾言

说实话,上面讲到的资料包获取没有任何门槛。 但是,我觉得很多人拿到了却并不会去学习。 大部分人的问题看似是 “如何行动”,其实是 “无法开始”。 几乎任何一个领域都是这样,所谓 “万事开头难”,绝大多数人都卡在第一步,还没开始就自己把自己淘汰出局了。 如果你真的确信自己喜欢网络安全/黑客技术,马上行动起来,比什么都重要

网络安全领域就像是一棵硕果累累的参天大树,底下站着无数观望者,他们都声称自己喜欢网络安全,想上树摘果,但面对时不时垂下来的藤枝,他们却踌躇不前,犹豫不决。

实际上,只要任意抓住一根藤枝,都能爬上这棵树。 大部分人缺的,就是这么一个开端。

猜你喜欢

转载自blog.csdn.net/yinjiyufei/article/details/129951638