巴纳比·杰克(Barnaby Jack)是新西兰的一名白帽子黑客,致力于发现公司产品的安全漏洞以帮助改进安全性。他曾负责银行网络安全业务,在 2010 年黑帽子大会上演示了入侵 ATM 取款机并让机器吐钞的案例。
仅仅通过一台电脑就能操纵他人手机、获取机密或控制设备,这体现了黑客技术的强大。本文旨在揭秘黑客的定义及成为黑客所需具备的能力。
什么是黑客?
从计算机角度解释,黑客是指寻找网站、系统、软件等漏洞,并利用漏洞取得数据、控制程序或使其崩溃的人。刚入门的黑客大部分从事渗透工作,属于 Web 安全方向,因此也可以称为安全工程师。
黑客真正的魅力在于对代码的痴迷与热爱,对自己能力的自信以及打破陈规的创造力与勇气,当然不包括触犯法律。
成为一名黑客需要具备哪些能力?
第一点,了解黑客的思维方式
生活中使用的网站和软件由程序员编写的代码构成,设计过程基于正向逻辑以实现特定目的。而黑客的思维是逆向的,他们会分析操作流程或数据传输逻辑中是否存在验证不严谨或隐秘信息泄露的风险,并加以利用,从而绕过正常逻辑达到未授权访问或操作的目的。
通俗地说,程序员是造房子的,而黑客则是检查房子是否有漏洞,甚至将其拆除。
第二点,学习一门编程语言
代码是黑客的武器。想要成为黑客,首先要学会一门编程语言。对于没有代码经验的小白,可以从 Python、PHP 或 C 学起。
第三点,学习网络安全基础知识
安全工程师分为几类,每一类的学习路径有所不同。以 Web 安全举例,首先需要了解 Web 技术,例如搭建网站需要掌握通信协议(如 TCP、HTTP)、操作系统(如 Linux、Windows)、服务架设(如 Apache、Nginx)、数据库(如 MySQL、Oracle)以及编程语言(包括前端和后端语言)。
接着需要掌握 Web 安全技术:
- 后端安全:SQL 注入、文件上传、Webshell(木马)等。
- 前端安全:XSS 跨站脚本攻击、CSRF 跨站请求伪造等。
黑客涉及的基础技能点很多,建议在学习过程中梳理知识图谱,进行系统性学习。
第四点,实战操作
如果掌握了前三点,可以尝试上手实践,例如 SRC 漏洞挖掘、WIFI 网络破解、配套靶场练习等。务必在合法合规的授权环境下进行操作。
第五点,懂法律
不谈技术,单谈品质。恶意侵入其他电脑系统作出破坏的'Cracker'是非常可耻的。互联网不是法外之地,科普黑客知识绝不是为了助长不良心态。
作为一个技术人员,了解和学习黑客知识是必要的,这样才能在日常工作中应对安全风险,在较高的安全意识上完成编程和运维工作;当你遇到攻击时,不仅能严防死守,还能抓住内鬼,反将一军。
技术本身并不罪恶,滥用技术才会导致罪恶。


