1
前言
最近翻知乎看到了好多人问如何入门成为一名光荣的白帽子,在这里我将一些大佬的回答再加上我自己的想法进行了系统性的梳理,希望对刚入门的小萌新有一些帮助。
2
入坑前你必须了解的事
法律法规
道路千万条,安全第一条。在深入学习之前我们必须要知道在什么框架下行事
《中华人民共和国刑法》
《中华人民共和国网络安全法》
《网络安全等级保护制度2.0》
什么是白帽子?
说白帽子之前,先说说“漏洞”。
漏洞,是指在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而使黑客能够在未授权的情况下访问或破坏系统。
白帽子,描述的是正面的黑客,他可以识别计算机系统或网络系统中的安全漏洞,但并不会恶意去利用,而是将漏洞提交给对应的SRC。这样,系统将可以在被其他人(例如黑帽子)利用之前来修补漏洞;
与黑帽子(即黑客)不同。“白帽子”们在漏洞的挖掘上具有公开性和正义性,并不恶意利用,而是以此对抗黑灰产业。
相对应的其他概念:
灰帽子,他们擅长攻击技术,但不轻易造成破坏,他们精通攻击与防御,同时头脑里具有信息安全体系的宏观意识;
黑帽子,他们研究攻击技术非法获取利益,通常有着黑色产业链
脚本小子(script kiddie)是一个贬义词用来描述以黑客自居并沾沾自喜的初学者。他们钦慕于黑客的能力与探索精神,但与黑客所不同的是,脚本小子通常只是对计算机系统有基础了解与爱好,但并不注重程序语言、算法、和数据结构的研究,虽然这些对于真正的黑客来说是必须具备的素质。他们常常从某些网站上复制脚本代码,然后到处粘贴,却并不一定明白他们的方法与原理。因而称之为脚本小子。
脚本小子不像真正的黑客那样发现系统漏洞,他们通常使用别人开发的程序来恶意破坏他人系统。通常的刻板印象为一位没有专科经验的少年,破坏无辜网站企图使得他的朋友感到惊讶。
3
白帽子成长之路
3.1方向
- web安全
- 内网安全
- 无线安全
- 安卓/ios安全逆向
- 云计算安全
- 区块链安全
- 工控安全
这里只列出了常见的一些安全方向(狗头保命)。安全的细分方向有很多,更多的随着大家入坑越来越深就会有所了解的~
3.2就业(仅供参考)
代码语言:javascript复制渗透测试工程师 (1-3年 本科)10-15K
渗透测试专家 (5-10年 本科) 15-25K
二进制安全研究员(经验不限 本科)10-18K
源代码审计工程师(3-5年 本科) 10-15K
应急响应工程师(经验不限,学历不限)12-20K
以上数据均来自招聘网站
我在网上也看到了好多劝退的帖子,在这里我想说一句,只要你有足够的本事没有哪个行业是不好的
3.3职业技能
根据自己学习的方向,精通下面的几点就好,没必要强求自己都精通,慢慢来(如果不知道自己的方向该学什么可以看一眼招聘网站)
- 精通渗透测试步骤、方法、流程,具备独立开展渗透工作的能力
- 熟练掌握web安全和漏洞挖掘,熟悉漏洞的原理、方法、利用手段及解决方案
- 熟悉代码安全审计(php/asp/jsp/python/Java)
- 了解采用PHP/JAVA/ASP等语言开发的程序代码中缺陷和安全漏洞
- 熟练掌握主流源代码审计工具,如Checkmarx CxEnterprise、Armorize CodeSecure、Fortify SCA、RIPS等
- 至少掌握python/ruby/perl/php等两门脚本语言
- 熟悉常用的储存技术,如MySQL、Redis、PostgreSQL等
- 拥有数据清洗,爬虫开发经验
- 熟悉Tornado、Django、Flask等框架,并能快速使用构建web
- 至少掌握C/C /GO/Delphi/Java等两门编程语言
- 精通二进制漏洞挖掘、拥有漏洞挖掘的实战经验
- 精通Windows、Linux操作系统
- 熟练使用Linux进行开发和部署
- 精通多架构(X86/X64/ARM/MIPS等)
- 熟悉常见文件格式及网络协议,并有定制FUZZ工具的经验
- 有漏洞挖掘经验或获取CVE(CNVD、CNNVD)编号;有相关文章,出版书籍者优先
- 熟悉使用Linux下各类IDE/Vim及Git等版本控制工具
- 独立或合作开发过安全相关工具、平台、项目者;在t00ls、freebuf、Seebug、exploitdb.com等网站发布过漏洞、文章者优先。
更系统地我推荐看一下《知道创宇研发技能表V3.1》
https://blog.knownsec.com/Knownsec_RD_Checklist/index.html
4
方法论
确定好自己的方向后,要善于查找资料,培养记笔记的和写blog的习惯。学习新知识后立马实践,并不断练习
关注大牛blog,跟随大牛记录的学习历程来学习也不失为一个好办法。推荐几个大牛的blog站:
代码语言:javascript复制https://lorexxar.cn/
https://blog.csdn.net/ztx114
https://me.csdn.net/Eastmount
https://mochazz.github.io/
https://blog.knownsec.com
https://www.leavesongs.com/
https://evilcos.me/
http://www.hcocoa.com/
https://uknowsec.cn/
如何实践?
1.自己搭建渗透环境
代码语言:javascript复制在linux系统中安装lanmp #其实apace 和nginx安装一个就行了。
在windows系统中安装wamp
搭建dvwa漏洞
搭建sql注入平台
搭建xss平台
学习利用docker镜像中现有的渗透环境
学习vm or vrtualbox的使用
学会在vulnhub上面下载现成的漏洞靶机到本地搭建。
2.利用现有的学习平台
代码语言:javascript复制bugku
实验吧(维护中)
攻防世界
合天网安实验室
i春秋
看雪论坛
3. 企业SRC
代码语言:javascript复制腾讯安全响应中心:http://security.tencent.com/
补天漏洞响应平台:https://www.butian.net/Register
漏洞盒子:https://www.vulbox.com/
华为安全奖励计划:https://bugbounty.huawei.com/hbp/#/home
百度安全应急响应中心:http://sec.baidu.com/v2/#/home
漏洞银行:https://www.bugbank.cn/
阿里安全响应中心:https://security.alibaba.com/
i春秋SRC部落:https://www.ichunqiu.com/src
教育行业漏洞报告平台:https://src.sjtu.edu.cn/
...
更多:https://www.anquanke.com/src
5
学习资源总结
学习站点:
代码语言:javascript复制(首推)乌云文章备份:https://github.com/0pen1/wooyun_articles
CSDN:https://www.csdn.net/
博客园:https://www.cnblogs.com/
GitHub:https://github.com/
FreeBuf:http://www.freebuf.com/
Seebug:https://paper.seebug.org/
secwiki:https://www.sec-wiki.com/
吾爱破解(逆向破解方向):https://www.52pojie.cn/
安全师:https://www.secshi.com/
(由公众号安全祖师爷那伙人创办的,很多大咖入驻)
学习视频:(可以看但不要沉迷~)
代码语言:javascript复制哔哩哔哩(无可争议):https://www.bilibili.com/
YouTube:https://www.youtube.com/
这里只推荐大家一些免费的渠道~
6
入门级书籍推荐
白帽子入门
- 《白帽子讲Web安全》
- 《白帽子讲浏览器安全》
- 《Burp Suite实战指南》
- 《黑客大曝光系列》
- 《代码审计》
- 《鸟哥的Linux私房菜》
- 《Nmap Network Scanning》
白帽子进阶
- 《OWASP测试指南》
- 《加密与解密》
- 《TCP/IP详解》
- 《HTTP权威指南》
- 《0day安全:软件漏洞分析技术》
- 《漏洞战争》
白帽子高级
- 《Windows核心编程》
- 《内核漏洞的利用与防范》
- 《Hacking: The Art of Exploitation》
- 《深入理解Java虚拟机》
- 《现代编译原理》
- 《无线电安全攻防大揭秘》
7
参考链接
代码语言:javascript复制知道创宇研发技能表V3.1
安全客-国内漏洞响应平台(SRC)导航
知乎-拼客学院陈鑫杰的回答