https://www.jianshu.com/p/6dcebd54fb24

(本文源于转载或摘抄整理)

2016-06-12 Fooying 优主张
最近比较忙,灵感稍微有点缺乏,本着宁缺毋滥的想法,所以一直也没憋出一篇文章来,希望大家见谅,想了想,整理了一篇关于 Web学习的文章,因为总有人会问类似的问题,所以想着直接整理下以前回答以及自己的一些经验,我想对大家的学习应该有一些参考价值!这是该系列的第一篇,后续应该还有有工具等其他篇。

我接触安全行业有8年了,在高中的时候开始感兴趣并且学习安全的,启蒙老师是《黑客X档案》以及《黑客防线》,后来才看到的《非安全手册》,基本刚开始的时候,很多人学的估计都是网吧黑客(万象之类的)、黑站(很多人估计第一个黑的就自己学校的),我也不例外,反正在网吧免费上网的那段日子是快乐的,至今还印象很深刻,挺怀念那段日子的,那时候留校,每周的生活费基本就花在买书上了,虽然生活周边找不到志同道合者,不过在网络上有一堆朋友。

其实在我接触安全之前,我最早接触的是编程,我记得最早学的是我姐他们上课的书,是谭浩强的《C语言》,再后来参加信息奥赛,学的 Pascal,以及后面自学了 VB、Delphi(这个还是受啊D注入工具影响的)、C#、Python等,甚至于易语言我也学了,还用了挺长一段时间。

所以首先要推荐的是编程,我觉得学习安全必须得掌握一定的编程,本质上,Web 开发与 Web 安全是不分家的,所以说要求掌握一定的 Web 开发能力,顺带一些脚本开发、数据库查询能力:
1、基本的HTML/CSS/JavaScript
前两者就不说了,JS 推荐书籍《JavaScript DOM 编程艺术 》
2、Pyhton
我觉得 Python 是身为黑客必备的编程语言,推荐书籍《Python 核心编程》,现在中文版最新应该是第三版,至于有同学会问学2.x好还是学3.x,我的建议是学3.x,虽然现在很多老的代码是2.x,不过3.x是趋势,另外其实不管是3.x还是2.x,掌握一个,再切换都很容易
3、结构化查询语言 SQL
SQL 的学习是必要的,比如说 SQL 注入,就要求前提掌握 SQL,因为我没有专门的去买书学过 SQL,大部分是通过网上资料自学,因为没看过,所以没什么书籍可以推荐,推荐下w3school的教程,http://www.w3school.com.cn/sql/

编程方面就推荐这三部分把,我觉得是基本的必须要学的,其他的比如 PHP,我觉得也很有必要,比如 PHP注入、PHP代码审计等,还有 Web 漏洞里常见的有 Struts 漏洞、Java反序列漏洞,是否 Java 也需要学下?我觉得精力有限,因人而异,也看自己的方向,更多的看自己在学习、研究过程中的需求,碰到不懂的就加强下,就针对性的去学习,但不可能说追求所有都精通之类的。

后来的话,陆续也看了一些 Web 安全方面的书籍,相关的书籍比较多,我就不一一列举了,就推荐一些我觉得不错的中文书籍(因为我英文不好,虽然也看了几本英文书,但是还是不好意思推荐):
1、《Web 前端黑客技术与揭秘》 前端黑客必备,cos 和 xisigr 出的书
2、《白帽子讲Web安全》道哥出的书
3、《黑客攻防技术宝典-Web实战篇》
4、《Web之困》
5、《Web应用安全权威指南》
6、《SQL注入攻击与防御》
7、《XSS跨站脚本-攻击剖析与防御》

这里同样不展开,在细分领域也有不同的书,具体的我也不多做推荐了,这里关于 XSS 特别推荐下 PKAV 团队整理的思维导图 (http://pkav.net/XSS.png), (http://pkav.net/XSS2.png), 关于PHP 方面推荐下 80vul,也就是黑哥他们团队的成果:https://code.google.com/archive/p/pasc2at/wikis/SimplifiedChinese.wiki

其他的一些我觉得需要学习或者了解的:
1、需要掌握 OWasp Top 10,包含原理、测试方法、防护方法(https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project)
2、需要了解掌握网络请求
3、掌握使用一些安全工具(后续文章)
4、学会关注、分析漏洞和编写 PoC
5、关注一些网站,关注最新的安全/漏洞动态、技术(后续文章)
6、关注一些安全圈微信公众号/专栏等
7、Twitter 是一个获取最新漏洞、最新技术点的好地方,前提是你要关注些大牛(这个后续考虑单独文章来讲)
8、安全公司/甲方公司安全团队除了人品之外,更多时候看中的是个人的实战能力,以及做过的一些事,所以建议可以适当的刷一些 SRC(后续整理列表)、写一些漏洞分析、PoC等
9、虽然我不想承认,但是适当的参加一些 CTF 也是不错的
10、融入这个圈子,比如参加一些安全会议等

接下来,推荐几个我觉得可以作为参考的技能表、知识整理和问答:
1、http://blog.knownsec.com/Knownsec_RD_Checklist/index.html 来自我们团队的知道创宇技能表,当前最新版本 3.1(点击『阅读原文』访问)
2、零基础如何学习 Web 安全? https://www.zhihu.com/question/21606800/answer/22268855
3、西电信安协会-技能时间轴 http://file.anquanquan.info/tuijian/jinengzhou.pdf
4、i 春秋学习规划图 http://www.ichunqiu.com/main/#study-plan

整理来说,如果一定要让我给一个路线的话,我觉得按照我从上到下的路线去学习,以及最后的建议去掌握这些技能即可,当然,文章中可能还欠缺一些内容,比如工具的掌握等,后续会继续写,大家可以关注我后续的文章。

然后,最重要的,更多时候,我觉得光看不练是没有用的,用黑哥的话『做』,所以不止是学习,更多的时候去动手操作,去实践。

作者:JackyTsuuuy
链接:https://www.jianshu.com/p/6dcebd54fb24
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

Web 安全入门-书籍及建议的更多相关文章

  1. 2019年Web前端入门的自学路线

    本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文.本文内容不定期更新. 我前几天写过一篇文章:<裸辞两个月,海投一个月 ...

  2. 《Web编程入门经典》

    在我还不知道网页的基础结构的时候,我找过很多本介绍Web基础的书籍,其中这本<Web编程入门经典>,我认为是最好的. 这本书内容很全面.逻辑很严谨.结构很清晰.语言文字浅显易懂. 看这本书 ...

  3. WEB安全入门

    WEB安全入门 信息安全基础 信息安全目标 真实性:对信息的来源进行判断,能对伪造来源的信息予以鉴别, 就是身份认证. 保密性:保证机密信息不被窃听,盗取,或窃听者不能了解信息的真实含义. 完整性:保 ...

  4. 自学 Python 3 最好的 入门 书籍 推荐(附 免费 在线阅读 下载链接)

    请大家根据自己的实际情况对号入座,挑选适合自己的 Python 入门书籍: 完全没有任何编程基础:01 号书 少量编程基础,不求全,只希望能以最快的速度入门:02 号书 少量编程基础,有一定的英文阅读 ...

  5. day04 Java Web 开发入门

    day04 Java Web 开发入门 1. web 开发相关介绍 2. web 服务器 3. Tomcat服务器启动的问题 4. Tomcat目录结构 5. Web应用程序(虚拟目录映射,缺省web ...

  6. JAVA WEB快速入门之从编写一个基于SpringBoot+Mybatis快速创建的REST API项目了解SpringBoot、SpringMVC REST API、Mybatis等相关知识

    JAVA WEB快速入门系列之前的相关文章如下:(文章全部本人[梦在旅途原创],文中内容可能部份图片.代码参照网上资源) 第一篇:JAVA WEB快速入门之环境搭建 第二篇:JAVA WEB快速入门之 ...

  7. JAVA WEB快速入门之从编写一个基于SpringMVC框架的网站了解Maven、SpringMVC、SpringJDBC

    接上篇<JAVA WEB快速入门之通过一个简单的Spring项目了解Spring的核心(AOP.IOC)>,了解了Spring的核心(AOP.IOC)后,我们再来学习与实践Maven.Sp ...

  8. JAVA WEB快速入门之从编写一个JSP WEB网站了解JSP WEB网站的基本结构、调试、部署

    接上篇<JAVA WEB快速入门之环境搭建>,在完成了环境搭建后(JDK.Tomcat.IDE),现在是万事具备,就差写代码了,今天就来从编写一个JSP WEB网站了解JSP WEB网站的 ...

  9. 教程:Visual Studio 中的 Django Web 框架入门

    教程:Visual Studio 中的 Django Web 框架入门 Django 是高级 Python 框架,用于快速.安全及可扩展的 Web 开发. 本教程将在 Visual Studio 提供 ...

随机推荐

  1. 详解调试Apache的mod_rewrite模块

    大家都知道Apache里面的Rewrite规则是一件很蛋疼的事情,有时候只是想做一个伪静态而已,不想去研究那些复杂的规则,可官方给的规则又常常出错,出了问题我们就要调试一下,看看提交的参数被映射到了哪 ...

  2. FB联网无人机取得重大进展 实现首次成功着陆

    科技讯6月30日消息,据Engadget报道,在过去的几年里,世界最大社交网络Facebook始终在测试其太阳能无人飞机Aquila.2016年6月份,这种联网无人机在美国亚利桑那州的尤马进行了首次全 ...

  3. 关于jquery在页面初始化时radio控件选定默认值的问题

    网上找了很多资料,都是比较旧版本的方法,新版的jquery都已经抛弃了. 正确的代码是 $('input:radio[name="statusRadios"][value=&quo ...

  4. 类型或命名空间名称“Interop”在类或命名空间“Microsoft.Office”中不存在(是否缺少程序集引用?)

    准备用C#编写Web程序,生成Excel报表,在使用下面语句时报错. using Microsoft.Office.Interop.Excel; 报错信息:类型或命名空间名称“Interop”在类或命 ...

  5. 面试题:JVM类加载机制详解(一)JVM类加载过程 背1

    首先Throws(抛出)几个自己学习过程中一直疑惑的问题: 1.什么是类加载?什么时候进行类加载? 2.什么是类初始化?什么时候进行类初始化? 3.什么时候会为变量分配内存? 4.什么时候会为变量赋默 ...

  6. css 样式文字溢出显示省略号

    在table中使用溢出样式,table样式要设置为”table-layout: fixed“,即<table style="table-layout: fixed;"> ...

  7. Spring下面的@Transactional注解标志的讲解

    最近在开发中对Spring中的事务标记@Transactional用的比较多,今天上网收集了一些内容,做一个简单的总结~~~ 在service类前加上@Transactional,声明这个servic ...

  8. Linq学习<一>

    lambda查询语法: var result =arrarylist.where(n=>n.contains("l"))  简化的委托方法实例 linq查询结构: var  ...

  9. (转)使用Jquery+EasyUI 进行框架项目开发案例讲解之一 员工管理源码分享

    原文地址:http://www.cnblogs.com/huyong/p/3334848.html 在开始讲解之前,我们先来看一下什么是Jquery EasyUI?jQuery EasyUI是一组基于 ...

  10. 编写高质量代码改善C#程序的157个建议——建议11: 区别对待==和Equals

    建议11: 区别对待==和Equals 在开始本建议之前,首先要明确概念“相等性”.CLR中将“相等性”分为两类:“值相等性”和“引用相等性”.如果用来比较的两个变量所包含的数值相等,那么将其定义为“ ...