从零开始学习 Web 安全与白帽黑客入门指南
引言:什么是黑客?
对于很多人来说,黑客是一个神秘的代名词。加之影视作品夸张的艺术表现,使得黑客这个本来只专注于技术的群体,散发出亦正亦邪的神秘色彩。
本文介绍了 Web 安全的基础概念、常见漏洞类型及白帽黑客的学习路径。内容涵盖 Web 架构原理、SQL 注入、XSS、远程命令执行等核心漏洞的成因与防御思路,并提供了从工具使用到实战演练的系统化学习建议,旨在帮助初学者建立正确的网络安全观与技术基础。

对于很多人来说,黑客是一个神秘的代名词。加之影视作品夸张的艺术表现,使得黑客这个本来只专注于技术的群体,散发出亦正亦邪的神秘色彩。
黑客源自英文 hacker 一词,最初曾指热心于计算机技术、水平高超的电脑高手,尤其是程序设计人员。 随着时间推移,逐渐区分为白帽、灰帽、黑帽等。
如果是想利用学到的技术非法牟利,奉劝尽早放弃,君子爱财取之有道。 想成为一名合格的白帽黑客,要遵守'江湖规矩',严格遵守法律法规,在授权范围内进行安全测试。
下面来看一看,如何从零开始成为一名(白帽)黑客。
早期的互联网非常的单调,一般只有静态页面。现在,随着技术的发展,Web 上大多数站点实际上是 Web 应用程序,在服务器和浏览器之间进行双向的信息传递。它们支持注册登录、金融交易、搜索及用户创作的内容。用户只需要拥有一个浏览器,就能实现各种功能。
Web 是指一个网站的前端页面到后端服务,比如我们常见的 JavaScript、PHP、Python、MySQL、jQuery、Docker 等,包括开发、运维这些服务。
所以 Web 安全也就是从安全的角度探索 Web 的一种方式。
为了能够更简单的理解一些常见漏洞,我们需要了解数据的流转过程。在实际中,我们打开一个网页提交登录或者是搜索都会经过服务器做的一系列处理又回到浏览器。在这个过程中我们提交的数据会被带入到一系列的填空题中,有的是我们能猜到的,有的则是意想不到的,有的会经过 SQL 查询进行填空,有的会被带入到命令行中进行执行,最后又把结果返回给浏览器进行填空,也就是最后我们看到的结果。
在数据的传输中,我们可以把 Web 简单的分为几个层次:
当然除了这些数据也有可能流向不可见的第三方服务商。
下图展示了数据的传输流程,以及不同阶段经常出现的漏洞及其原因:
我们常见的 Web 漏洞类型主要有 SQL 注入、XSS、远程命令执行以及越权等。以下我们分别用举例的形式为大家介绍这几种漏洞。
所谓 SQL 注入,就是通过把 SQL 命令插入到 Web 表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的 SQL 命令。
原理示例: 假设有一个登录框,后端代码拼接如下:
SELECT * FROM users WHERE username = 'input_user' AND password = 'input_pass'
如果用户在用户名处输入 admin,密码处输入 ' OR '1'='1,则 SQL 变为:
SELECT * FROM users WHERE username = 'admin' AND password = '' OR '1'='1'
这将绕过密码验证直接登录。
防御措施:
XSS 则是攻击者往 Web 页面里插入恶意 Script 代码,当用户浏览该页之时,嵌入 Web 里面的 Script 代码会被执行,从而达到恶意攻击用户的目的。
分类:
示例:
<script>alert(document.cookie)</script>
如果页面未对 <script> 标签进行过滤,这段代码将执行。
防御措施:
而远程命令执行,是用户通过浏览器提交执行命令,由于服务器端没有针对执行函数做过滤,导致执行命令。
示例:
system("ping " . $_GET['ip']);
如果攻击者传入 127.0.0.1; cat /etc/passwd,服务器将执行 cat 命令读取敏感文件。
防御措施:
system、exec 等危险函数。越权漏洞是比较常见的漏洞类型。越权漏洞可以理解为,一个正常的用户 A 通常只能够对自己的一些信息进行增删改查,但是由于程序员的一时疏忽,对信息进行增删改查的时候没有进行一个判断,判断所需要操作的信息是否属于对应的用户,可以导致用户 A 可以操作其他人的信息。
示例:
Cookie: uid=11426;
Request: GET /api/user/profile?id=1
如果修改为 id=1,且服务器未校验当前登录用户是否有权查看 ID 为 1 的数据,则发生越权。
防御措施:
完全没有基础该从哪下手?完全没有基础学习 Web 安全是件比较难的事情,但并非不可能。建议遵循以下系统化路径:
此外,这是一条坚持的道路,三分钟的热情劝君尽早放弃;多练多想,不要离开了教程什么都不会了,最好看完教程自己独立完成技术方面的开发。
法律红线:
网络安全是一场持久战,需要不断的学习新技术、新漏洞。保持好奇心,保持敬畏心,做一名合格的白帽黑客。
本文详细介绍了 Web 安全的基础概念、常见漏洞类型及白帽黑客的学习路径。内容涵盖 Web 架构原理、SQL 注入、XSS、远程命令执行等核心漏洞的成因与防御思路,并提供了从工具使用到实战演练的系统化学习建议。希望初学者能建立正确的网络安全观与技术基础,在法律允许的范围内探索技术边界。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online