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. PHP_File文件操作简单常用函数

    php测试文件 <?php header("Content-type:text/html;charest=utf-8");$fileDir='Upload/File/cont ...

  2. [C#] 等待启动的进程执行完毕

    有能有时候我们启动了一个进程,必须等到此进程执行完毕,或是,一段时间, 关闭进程后再继续往下走. Example sample1 等待应用程序执行完毕 //等待应用程序执行完毕 private voi ...

  3. NPOI-WebForm_Excel导入与导出

    本文面对的是第一次 接触NPOI的童鞋 不必为了一些琐碎的事情搞的心情烦躁 废话不多说先上 Demo 的全家福 接下来直接上代码 public partial class _Default : Sys ...

  4. 升级到Win10 周年更新版

    尝试过强制刷更新,但是没用,最近微软才跟我的机器推送周年更新,于是更新. 花费了些时间更新,之前网上有的那些诗句,亲眼看看还是蛮有意思的. 但是更新完了后,explorer 一直出错,有闪退(闪屏)一 ...

  5. pl/sql基础语法

  6. SqlServer——神奇代码1之Update

    说明:一个带有update的循环的代码.很简单,但是在QQ群里问了,应该说是很少有人注意这个问题,也就是很少有人真的理解SQL中的Update. 代码如下: if object_id('tempdb. ...

  7. postfix配置积累(不断的积累)

    postfix 配置 1.mail_name 默认是Postfix.在收件人信头可以查看,如果不想让别人知道你是用postfix发的,则可以改成其它名字,如:postconf -e mail_name ...

  8. 洛谷P2569 [SCOI2010]股票交易

    P2569 [SCOI2010]股票交易 题目描述 最近lxhgww又迷上了投资股票,通过一段时间的观察和学习,他总结出了股票行情的一些规律. 通过一段时间的观察,lxhgww预测到了未来T天内某只股 ...

  9. Gson 配置解析

    之前项目用到了gson对json和Java类之间互转,现在将gson的配置总结一下. 首先,创建gson对象之间,建立gsonbuilder对象,并配置 // 不导出实体类中没有用@Expose注解的 ...

  10. Dapper多表查询

    1对1 //文章 public class Post { public int ID { get; set; } public string Title { get; set; } public st ...