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. Python遍历列表删除多个列表元素

    在遍历list的时候,删除符合条件的数据,结果不符合预期 num_list = [1, 2, 2, 2, 3] print(num_list) for item in num_list: if ite ...

  2. 企业短信通 C# HTTP接口 发送短信

    /* 功能: 企业短信通 C# HTTP接口 发送短信 修改日期: 2014-09-01 说明: http://api.cnsms.cn/?ac=send&uid=用户账号&pwd=M ...

  3. Java微信公众平台开发(二)--微信服务器post消息体的接收

    转自: http://www.cuiyongzhi.com/post/39.html 在上一篇的文章中我们详细讲述了如何将我们的应用服务器和微信腾讯服务器之间的对接操作,最后接入成功,不知道你有没有发 ...

  4. Android 4.4 外置卡

    虾米.酷狗.百度地图.UC浏览器 下载 可以设置下载路径保存到外置SD卡上. 其他的软件目前还不支持. 最终Android 4.2是可以选择的,后来Android禁用了外置卡,以上软件是如何实现的?

  5. resolve或reject之后还需要return吗

    答案: 需要 今日碰到一个问题, 是我的同事发现的,如果不说的话可能一直没有注意到 这个代码 在reject 后还会执行, 但是谁也没有注意到, 但是不会报错, 因为当一个promise是resolv ...

  6. Mask_RCNN openpose AlphaPose Kinect姿态识别

    1.Mask_RCNN ---------------------------------------------------------------------------------------- ...

  7. django: django rest framework 分页

    django: django rest framework 分页 2018年06月22日 13:41:43 linux_player_c 阅读数:665更多 所属专栏: django 实战   版权声 ...

  8. 金融卡IC卡知识50问

    1.什么是金融IC卡? 金融IC卡又称为芯片银行卡,是以芯片作为介质的银行卡.芯片卡容量大,可以存储密钥.数字证书.指纹等信息,其工作原理类似于微型计算机,能够同时处理多种功能,为持卡人提供一卡多用的 ...

  9. SVN下载地址及注意事项

    SVN下载地址:VisualSVN:http://www.visualsvn.com/server/download     服务器端(添加仓库和用户)TortoiseSVN:http://torto ...

  10. Detailed ASP.NET MVC Pipeline

    Posted By : Shailendra Chauhan, 27 Jan 2014 P.NET MVC is an open source framework built on the top o ...