当前位置: 首页 > news >正文

常见的网络攻击

网络攻击(Cyber Attacks,也称赛博攻击)‌是指利用程序漏洞、系统缺陷或暴力手段,削弱、破坏或非法访问目标网络系统,造成系统损失或数据泄露的攻击行为,是网络空间安全领域的核心威胁。常见的攻击方式有:

一、XSS(注入恶意脚本 → 偷数据)

1. XSS 跨站脚本攻击

XSS:攻击者注入恶意脚本,浏览器执行 → 偷 cookie、篡改页面

原理:攻击者注入恶意JS/HTML代码到网页,其他用户访问页面时,脚本自动执行。

分三类:

  • 存储型 XSS:恶意代码存入服务器(评论、帖子),所有访问用户都会中招,危害最大。
  • 反射型 XSS:恶意链接携带脚本,诱导用户点击才触发,一次性攻击。
  • DOM型 XSS:前端代码直接解析 URL 参数生成页面,不经过后端,纯前端漏洞。

危害:盗取 Cookie、账号密码、劫持会话、钓鱼、弹窗广告。

防御

  • 前端 / 后端转义特殊字符(< > & " ');
  • 输入过滤、输出编码;
  • 设置HttpOnly禁止 JS 读取 Cookie;
  • 开启 CSP 内容安全策略。

Spring防 XSS核心思想是一切用户输入皆不可信,必须转义或过滤。具体方法会有:

  • 使用 Filter 包装 Request,统一转义请求参数
  • 自定义 JSON 反序列化器,转义 @RequestBody 数据
  • Cookie 设置 HttpOnly,防止 JS 读取会话
  • 配置 CSP 响应头,禁止非法脚本执行

2.CSP(XSS 的最后一道防线,浏览器白名单 → 防 XSS 执行)

CSP(Content Security Policy,内容安全策略= 浏览器强制 “资源白名单”。只允许页面加载你明确信任的域名 / 资源,不信任的脚本、样式、图片、iframe 直接禁止执行 / 加载,从根源堵 XSS。

CSP:即使注入成功,浏览器不执行陌生脚本 → XSS 失效

1) 工作原理

服务器返回页面时,带一个Content-Security-Policy 响应头,告诉浏览器:

  • 只允许: - 脚本:本站 + 可信CDN、- 样式:本站 + 可信CDN、 - 图片:所有域名 -
  • 禁止:内联脚本、eval、陌生iframe

2)常见指令(http)

# 核心指令

  • default-src 'self'; # 默认只允许本站资源
  • script-src 'self' https://cdn.com; # 脚本白名单:本站+指定CDN
  • style-src 'self'; # 样式白名单
  • img-src 'self' data:; # 图片:本站+base64
  • frame-src 'none'; # 禁止iframe
  • object-src 'none'; # 禁止插件(flash等)

3)两种开启方式

  • HTTP 响应头(推荐,最安全)

http:Content-Security-Policy: default-src 'self'; script-src 'self' https://cdn.com;

  • HTML meta 标签(备用)
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' https://cdn.com;">

注:meta 方式不支持frame-ancestorsreport-uri等少数指令

二、CSRF(冒用身份发请求 → 改数据)

1. CSRF跨站请求伪造

原理:利用浏览器自动携带 Cookie 的特性,诱导已登录用户访问恶意页面,冒用身份发起请求(转账、改密码、下单)。

特点:攻击者拿不到你的 Cookie,只是借用你的身份。

危害:恶意操作账号数据、篡改信息、资金损失。

防御

  • 使用CSRF Token(主流方案);
  • 验证请求Referer/Origin来源;
  • 敏感操作增加二次验证码、短信验证。

2. CSRF Token(请求验证码 → 防 CSRF)

CSRF Token 是服务器生成、与用户会话绑定的随机串,用来验证 “状态变更请求” 是否来自合法页面,防止恶意网站冒用已登录的身份发起请求。

注:CSRF Token和JWT一个防攻击,一个做登录,项目中通常配合使用

  • CSRF Token 用于防御 CSRF 攻击,验证请求是否来自合法页面,不负责身份认证;
  • JWT(JSON Web Token)用于用户登录认证,标识用户身份,实现无状态鉴权

CSRF Token原理

1) 生成(服务器)

用户访问敏感页面(表单 / 接口)时,服务器生成随机、唯一、不可预测的字符串,绑定当前 Session,存在服务器 Session 里。

2)下发(服务器→前端)

  • 表单:嵌入隐藏字段
<input type="hidden" name="csrf_token" value="随机串" />
  • AJAX:放<meta>或接口返回,前端存内存(别存 localStorage,防 XSS 偷)。

3) 携带(前端→服务器)

4)验证(服务器)

服务器从请求中取出 Token,和当前用户 Session 里的 Token 对比

为什么有效?

  • 表单:提交时自动带csrf_token字段。
  • AJAX:放在自定义 Header(如X-CSRF-Token)或请求体。
  • 一致:合法,执行业务。
  • 不一致 / 缺失:403 拒绝。
  • 同源策略:恶意网站(跨域)读不到你页面里的 CSRF Token。
  • 会话绑定:每个用户 / 会话 Token 不同,攻击者无法伪造。

3.常见实现

1)Spring Boot

// 开启CSRF(默认开启) @Configuration public class SecurityConfig { @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http.csrf(csrf -> csrf.csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse())); return http.build(); } }

2)前端 AJAX(Axios)

// 从meta取Token const token = document.querySelector('meta[name="csrf-token"]').content; axios.interceptors.request.use(config => { config.headers['X-CSRF-Token'] = token; return config; });

3)表单(Thymeleaf)

<form method="post"> <input type="hidden" th:name="${_csrf.parameterName}" th:value="${_csrf.token}" /> <button type="submit">提交</button> </form>

三、SQL 注入(拼接恶意 SQL → 拖库 / 删库)

原理:用户输入拼接进 SQL 语句,攻击者构造特殊字符篡改 SQL 逻辑,绕过校验、查询 / 篡改数据库数据。 示例:admin' or '1'='1绕过登录。

危害:拖库、删表、窃取全量数据、提权控制服务器。

防御:

  • 强制使用预编译语句(PreparedStatement),杜绝字符串拼接;
  • ORM 框架(MyBatis/JPA)规范使用;
  • MyBatis 中使用 #{} 而不是 ${}
    • #{} 是预编译处理,会把参数替换为占位符?,自动加引号,能有效防止 SQL 注入;
    • ${} 是字符串直接拼接,不会预编译,不防注入,存在安全风险。
    • 优先使用 #{},只有动态表名、动态列名、排序字段等无法使用预编译的场景才用 ${}。
  • 输入过滤、权限最小化、关闭数据库错误详情输出。

四、DDoS/DoS 拒绝服务攻击

原理:

  • DoS:单台主机持续发送海量请求,耗尽服务器带宽、CPU、连接数。
  • DDoS:分布式拒绝服务,控制大量肉鸡 / 傀儡机集群攻击,威力更强。

危害:服务器卡顿、接口超时、网站 / 服务瘫痪,正常用户无法访问。

防御:

  • 流量清洗、CDN 分流;
  • 限流、黑名单、单 IP 连接数限制;
  • 高防 IP、弹性扩容、云厂商防护服务。

五、中间人攻击(MITM)

原理:攻击者拦截、篡改客户端与服务端之间的通信数据,相当于 “夹在中间窃听 / 改数据”,常见于公共 WiFi。

危害:窃取账号、密码、聊天内容、篡改传输数据。

防御:全站启用HTTPS(SSL/TLS 加密),校验证书,禁止 HTTP 明文传输。

六、文件上传漏洞

原理:前端 / 后端校验不严,允许上传可执行脚本文件(.php/.jsp/.asp),访问文件时执行恶意代码。

危害:上传木马、获取服务器权限、控制整台服务器。

防御:

  • 严格校验文件后缀、MIME 类型、文件头
  • 重命名文件,存放目录禁止脚本执行权限;
  • 上传目录独立部署,限制访问。

七、目录遍历攻击

原理:利用路径符../越权访问服务器本地文件,例如../etc/passwd../web.xml

危害:读取配置文件、密钥、源码、系统敏感文件。

防御:

  • 过滤../\等路径字符;
  • 限制文件访问根目录,路径做标准化处理。

八、点击劫持

原理:恶意页面通过透明 iframe 嵌套目标网站,诱导用户点击看似正常的按钮,实际点击了被嵌套的敏感操作按钮。

危害:诱导用户下单、转账、授权、关注等恶意操作。

防御:配置X-Frame-Options响应头,禁止被 iframe 嵌套。

九、弱口令 & 暴力破解

原理:使用字典、穷举方式不断尝试账号密码,破解登录入口、后台、接口。

危害:账号被盗、后台被入侵。

防御:

  • 密码复杂度要求(大小写 + 数字 + 符号);
  • 登录频率限制、图形验证码、人机校验
  • 异地登录提醒、IP 黑名单。
http://www.rkmt.cn/news/1444025.html

相关文章:

  • 从啤酒尿布到你的购物车:用亲和性分析优化独立站商品推荐(Python实战)
  • FigmaCN:3分钟搞定Figma中文界面汉化的完整指南
  • 专业WarcraftHelper完整指南:魔兽争霸III游戏优化工具一键配置
  • 告别ArcGIS频繁崩溃:从Normal.mxt到Python环境,彻底排查那些不起眼的配置陷阱
  • AI编程应用
  • TVS选型与电路防护:从浪涌机理到钳位优化的完整指南
  • 烟囱美化多少钱?新大高空价格透明 - myqiye
  • C++ Lambda表达式:从入门到精通
  • 你的QQ音乐文件只能在特定App播放?这个macOS工具帮你彻底解锁音乐自由
  • 字节跳动2026年算法面试高频题及最优解法(附实战演练)
  • Ubuntu换源后`apt update`还是慢?除了镜像源,你可能忽略了这3个关键设置(附Ubuntu 18.04/20.04实测)
  • 标识牌设计制作多少钱 - mypinpai
  • 不只是心跳:深入理解Aurix TC3XX时钟树如何影响你的系统性能与功耗
  • Win11双显卡(核显+独显)如何为不同CUDA版本指定GPU?实测避坑指南
  • 2026年不锈钢水箱价格多少钱? - 工业品牌热点
  • 告别复制粘贴!用Postman Tests脚本实现API自动化测试的5个实战场景
  • 《流畅的Python》读书笔记19(补充01): 使用 yield from - 再谈PE380
  • Sora 2新闻视频生成全链路拆解(含CNN/BBC已验证的伦理校验模板与版权规避清单)
  • 西安企来客科技深度调查:西北 GEO 黑马崛起真相揭示
  • 2026年北京通骋公司靠谱排名 - 工业品牌热点
  • 微服务中集成大模型调用的降级限流与优雅容灾实践
  • 【工信部信通院认证】Sora 2虚拟主播视频生成合规性自测工具包(含17项AI内容水印检测项)
  • 2026成都训犬寄养机构评测:魔宠犬堡联系与服务解析 - 优质品牌商家
  • Sora 2视频增强不再依赖GPU堆砌:轻量化推理方案实测提速3.8倍,单卡3090实时处理1080p@24fps
  • 新国标甲级防火门和乙级防火门有什么区别
  • 在Ubuntu 20.04上从源码编译Wayland全家桶(Weston 10.0.3),我踩过的坑你别再踩了
  • 平面设计师最后的护城河:Sora 2时代必须掌握的3类不可替代性动画思维(附客户提案话术库)
  • 【Sora 2用户体验深度解密】:20年AI影像架构师亲测的5大颠覆性交互升级与3个未公开优化细节
  • Sora 2交互原型实测全记录:3小时复现官方演示级动效,附可运行Figma组件库(限前200名领取)
  • Paperxie 课程论文写作功能实测:期末周从熬夜肝稿到一键生成的效率革命