我想成为一名白帽子黑客,该如何开始?
当黑客很酷吗?
早先,我也是半个黑客,经常在学校的教务系统看小哥哥。通过 URL 注入的方式,可以轻松进入别人的个人信息页。后来,又通过某种方式发现了管理员的账号,管理员又没有修改默认密码,于是就登录了管理员后台。
这件事,我就偷偷地说到了这,不能让我们家花花知道。
后来,我更关注于构建更强壮的 Web 应用,而不是关注在安全领域上。因为我觉得创造是一件更开心的事。
然而 Web 安全,对于一个 Web 从业人员来说,仍然是一个非常重要的课题。
每年因为网站漏洞,都为各家公司带来大量的损失,如去年的 Mirai 蠕虫病毒,前段时间微信支付“0元购”漏洞。在这一背景下,Web 安全越来越受重视。除了开发人员,也出现了越来越多地 Web 安全从业者。
那么问题来了,如何进阶为一名 Web 安全高手呢?
1 基础:修炼内功
对于白帽从业者来说,一般都是从 XSS、SQL 注入等简单的漏洞研究入门的。需要对于这两大类漏洞原理,有一定数量的实践和经验。
除了了解各种相关的术语,还需要对于 Web 应用要有一个基本的认识。在这的基础上,对于 HTML、JavaScript 要有基础的了解和使用,它们是 Web 应用架构中最重要的基础元素。其直接运行在浏览器上,渲染出网页。
对于非开发人员的 Web 安全从业者来说,身边有相应的 Cookbook 也是一个不错的方式。
随后,便需要进一步了解 Web 前端应用的数据是如何通讯的——输入及输出。
比如,对于不是使用前后端技术的传统 Web 应用来说,数据可能通过 form data 或者 URL 的形式传递到后台;对于单页面应用来说,数据是通过 json 的形式传递到后台。后台处理完这些数据,再返回到前端供用户阅读。
有空了,再去深入了解诸如 HTTP 协议等一系列底层知识。
2 寻找合适的学习资料
不论是 Web 安全还是 Web 开发,他们都有着基本一致的学习体验。先找到感兴趣的知识点,学习尝试,一点点把玩。再找到一个合适的技能图谱,再按图索骥地去补充知识。
不过,对于初入 Web 安全领域的新人来说,要找到合适的资料不是一件容易的事。所以小编为大家准备了一些学习web从入门到精通的学习资料,以及程序员面试,涉及到的绝大部分面试题及答案做成的文档和学习笔记文件,希望可以帮助到大家。
转发此文,关注并私信小编“学习”,即可马上领取,仅限300人哦
在学习到一定程度之后,可以按照技能图谱去了解更广泛的知识,诸如 StuQ 的安全工程师必备技能图谱。
3 学好相关工具
对于开发人员来说,最简单的安全工具是在持续集成上,集成对代码扫描、依赖检测相关的事项。
对于 Web 安全从业者来说,有一系列不同的渗透工具可以了解和使用。
当我们对一个网站进行分析时:
可以使用 sqlmap 进行渗透测试,以利用 SQL 注入漏洞;
可以使用 Wireshark + tcpdump 来进行抓包分析;
利用 Chrome 浏览器的开发者工具,来了解 API 用户是如何认证和授权等内容;
当我们对一个服务器进行分析时,可以使用 nmap 进行端口扫描;
……
同时,活用各种搜索引擎搜索,诸如:
网络空间的搜索引擎 ZoomEye、Shodan
常用的 Google——用来搜索知识
不过,在喜欢造轮子的我看来,最合适的工具,还是自己去造轮子。
4 融入圈子
我越来越关注 Web 安全,是因为它可以带来一些额外的乐趣。并且,还能减少编写代码的 BUG。
然而,更重要的是,保持兴趣 + 持续练习。
也许你在学习的过程中,会无规划、效率低、难自律、没方向、没答疑、没时间、太孤独、没互动……
关注我,一起抱团取暖呀