专栏首页java一日一条从“小白”到“白帽子黑客”的实用指南

从“小白”到“白帽子黑客”的实用指南

当黑客很酷吗?

早先,我也是半个黑客,经常在学校的教务系统看妹子。通过 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安全》 《黑客攻防技术宝典—Web实战篇》 《Web前端黑客技术揭秘》

在学习到一定程度之后,可以按照技能图谱去了解更广泛的知识,诸如 StuQ 的安全工程师必备技能图谱。

3

学好相关工具

对于开发人员来说,最简单的安全工具是在持续集成上,集成对代码扫描、依赖检测相关的事项。

对于 Web 安全从业者来说,有一系列不同的渗透工具可以了解和使用。

当我们对一个网站进行分析时:

可以使用 sqlmap 进行渗透测试,以利用 SQL 注入漏洞; 可以使用 Wireshark + tcpdump 来进行抓包分析; 利用 Chrome 浏览器的开发者工具,来了解 API 用户是如何认证和授权等内容; 当我们对一个服务器进行分析时,可以使用 nmap 进行端口扫描;

……

早前,我使用 Wireshark + TCPdump 用来破解蓝牙通讯协议, Hack 了一个机器人,并编写了相应的应用程序。

详见《我是如何Hack一个机器人的?》https://www.phodal.com/blog/how-to-hack-a-robot/

同时,活用各种搜索引擎搜索,诸如:

网络空间的搜索引擎 ZoomEye、Shodan 常用的 Google——用来搜索知识 不过,在喜欢造轮子的我看来,最合适的工具,还是自己去造轮子。

4

融入圈子

我越来越关注 Web 安全,是因为它可以带来一些额外的乐趣。并且,还能减少编写代码的 BUG。而关注也就意味着,了解最新的资讯和技术等。自去年的 MongoDB 未授权访问漏洞之后,我关注了安全相关的公号,诸如 Freebuf、安全圈等等。

随后去了解、认识、结交更多相关领域的人,以让融入这个圈子。同时关注一些在安全领域有输出的大V,诸如知乎上的 @余弦,他是网络安全、黑客 (Hacker)、信息安全话题的优秀回答者。

然而,更重要的是,保持兴趣 + 持续练习。

本文分享自微信公众号 - java一日一条(mjx_java),作者:Phodal

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-07-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Web Service 的工作原理

    Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,...

    哲洛不闹
  • java学习路线图(2018年最新版)

    最近有些网友问我如何自学 Java 后端,还有些是想从别的方向想转过来,但都不太了解 Java 后端究竟需要学什么,究竟要从哪里学起,哪些是主流的 Java 后...

    哲洛不闹
  • 八大排序算法

    (1)基本思想:算法先将要排序的一组数按某个增量d(n/2,n为要排序数的个数)分成若干组,每组中记录的下标相差d.对每组中全部元素进行直接插入排序,然后再用一...

    哲洛不闹
  • 知乎大V@Phodal:小白也能看懂的Web安全进阶指南

    早先,我也是半个黑客,经常在学校的教务系统看妹子。通过 URL 注入的方式,可以轻松进入别人的个人信息页。后来,又通过某种方式发现了管理员的账号,管理员又没有修...

    黄泽杰
  • Lync server 2013 之office web apps server 搭建步骤

    office web apps server 搭建步骤: 一、 .NET Framework 4.5 节点下的HTTP 激活 .NET Framework 3....

    杨强生
  • 未来Web开发的最佳实践:拥抱不确定性

    Web 开发平台的变革及Web 可用设备的惊人增长,使得Web 到达了前所未及的位置。在过去的十年间,我们已经从一个停滞的、只有很少浏览器和操作系统的平台变成...

    博文视点Broadview
  • Exchange2016-抢先体验

    Install-WindowsFeature RSAT-ADDS,AS-HTTP-Activation, Desktop-Experience, NET-Fra...

    月缺
  • Exchange 2010安装各角色先决条件的Powershell

    http://technet.microsoft.com/zh-cn/library/dd351084.aspx

    李珣
  • web安全思维图

    Youngxj
  • Exchange Server 2013之分角色部署

    前面几篇介绍了Exchange Server 2013预览版在Windows 2008 R2环境下单机部署。下面,将在Windows Server 2012 R...

    李珣

扫码关注云+社区

领取腾讯云代金券