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

网络安全-攻击流程-应用层

应用层攻击针对OSI模型的第七层(应用层),主要利用协议漏洞、业务逻辑缺陷或用户交互弱点,直接威胁Web应用、API、数据库等服务。以下是常见应用层攻击类型及其流程,以及防御措施:


1. SQL注入(SQL Injection)

攻击流程

  1. 漏洞探测:攻击者向输入字段(如登录框、搜索栏)提交试探性SQL语句(如' OR 1=1 --)。
  2. 语句构造:若应用未过滤输入,恶意SQL语句被拼接至数据库查询中。
  3. 数据窃取/篡改:执行非法操作(如提取用户表、删除数据、绕过身份验证)。

防御措施

  • 使用参数化查询(预编译语句)或ORM框架。
  • 输入验证与过滤(白名单机制)。
  • 部署Web应用防火墙(WAF)拦截恶意语句。

2. 跨站脚本攻击(XSS)

攻击流程

  1. 注入恶意脚本:攻击者在用户可输入区域(如评论框)插入JavaScript代码(如<script>alert('XSS')</script>)。
  2. 脚本传播:未转义的脚本被服务器存储或直接反射到其他用户页面。
  3. 用户劫持:受害者浏览器执行恶意脚本,窃取Cookie、重定向到钓鱼网站或劫持会话。

防御措施

  • 对用户输入和输出内容进行HTML转义(如&&amp;)。
  • 设置HTTP头Content-Security-Policy (CSP)限制脚本来源。
  • 标记Cookie为HttpOnlySecure

3. 跨站请求伪造(CSRF)

攻击流程

  1. 构造恶意请求:攻击者创建伪装成合法操作的请求链接(如转账URL)。
  2. 诱导用户触发:通过钓鱼邮件、恶意网站诱导已登录用户点击链接。
  3. 执行非授权操作:用户浏览器自动携带Cookie发送请求,执行攻击者预设操作(如修改密码)。

防御措施

  • 使用CSRF Token(服务端生成并验证唯一令牌)。
  • 检查请求头RefererOrigin字段。
  • 关键操作需二次验证(如短信验证码)。

4. 应用层DDoS攻击

攻击流程

  1. 模拟合法请求:攻击者发送大量高仿真的HTTP请求(如频繁访问登录页、API接口)。
  2. 资源耗尽:目标服务器因处理请求耗尽CPU、内存或数据库连接。
  3. 服务瘫痪:正常用户无法访问服务(如电商秒杀场景下的CC攻击)。

防御措施

  • 设置请求频率限制(如IP限速、人机验证)。
  • 使用CDN缓存静态内容,减轻源站压力。
  • 基于AI/ML的行为分析识别异常流量。

5. 钓鱼攻击(Phishing)

攻击流程

  1. 伪造信任:攻击者仿冒合法网站或邮件(如银行、社交平台)。
  2. 诱导交互:通过链接、附件诱导用户输入敏感信息(账号、密码)。
  3. 信息窃取:攻击者获取数据后实施进一步攻击(如账户盗用、勒索)。

防御措施

  • 用户教育(识别钓鱼邮件特征)。
  • 部署邮件网关过滤恶意链接。
  • 启用多因素认证(MFA)降低凭证泄露风险。

6. 文件上传漏洞

攻击流程

  1. 上传恶意文件:攻击者上传包含后门(如.php.jsp)或恶意脚本的文件。
  2. 服务器执行:若服务器未限制文件类型或未隔离存储,恶意文件被解析执行。
  3. 控制服务器:攻击者获取服务器权限,植入木马或窃取数据。

防御措施

  • 限制上传文件类型(白名单校验扩展名和MIME类型)。
  • 重命名文件并存储至非Web目录。
  • 使用杀毒软件扫描上传内容。

7. API滥用攻击

攻击流程

  1. 接口探测:攻击者枚举API端点(如/api/v1/users)。
  2. 越权访问:利用未授权访问漏洞(如未鉴权的管理接口)获取敏感数据。
  3. 数据泄露:批量爬取用户信息或滥用业务逻辑(如无限领取优惠券)。

防御措施

  • 实施严格的身份认证与权限控制(OAuth 2.0、JWT)。
  • 限制API调用频率与返回数据量。
  • 使用API网关监控和日志分析。

8. 命令注入(Command Injection)

攻击流程

  1. 注入系统命令:攻击者通过输入字段注入操作系统命令(如; rm -rf /)。
  2. 服务端执行:应用未过滤直接调用系统命令(如调用ping命令)。
  3. 系统控制:攻击者执行任意命令,删除文件或反弹Shell。

防御措施

  • 避免直接拼接用户输入到系统命令。
  • 使用安全的函数替代(如Python的subprocess而非os.system)。
  • 输入内容严格校验(禁止特殊字符)。

9. 业务逻辑漏洞

攻击流程

  1. 逻辑绕过:攻击者利用业务流程缺陷(如修改价格参数、重复提交订单)。
  2. 非法获利:通过篡改数据或绕过限制实现非预期操作(如0元购、刷积分)。
  3. 系统失衡:破坏业务规则,导致资金损失或数据混乱。

防御措施

  • 关键业务操作服务端二次校验(如支付金额、库存)。
  • 记录并审计用户操作日志。
  • 设计业务流程时进行威胁建模。

10. 零日漏洞利用

攻击流程

  1. 漏洞发现:攻击者挖掘未公开的应用程序漏洞(如框架缺陷、配置错误)。
  2. 编写Exploit:开发利用代码绕过现有防护措施。
  3. 定向攻击:针对目标发起攻击,获取控制权或窃取数据。

防御措施

  • 定期更新应用和依赖库(如Java Log4j漏洞修复)。
  • 参与漏洞赏金计划,提前发现潜在风险。
  • 部署运行时应用自我保护(RASP)技术。

通用防御策略

  1. 纵深防御:结合WAF、IDS/IPS、日志监控等多层防护。
  2. 安全开发:遵循安全编码规范(如OWASP Top 10)。
  3. 定期渗透测试:模拟攻击检测漏洞。
  4. 最小权限原则:限制应用和用户的访问权限。

应用层攻击隐蔽性强且危害直接,需通过技术防护、流程管控和用户教育综合应对。

相关文章:

网络安全-攻击流程-应用层

应用层攻击针对OSI模型的第七层&#xff08;应用层&#xff09;&#xff0c;主要利用协议漏洞、业务逻辑缺陷或用户交互弱点&#xff0c;直接威胁Web应用、API、数据库等服务。以下是常见应用层攻击类型及其流程&#xff0c;以及防御措施&#xff1a; 1. SQL注入&#xff08;SQ…...

java八股文-spring

目录 1. spring基础 1.1 什么是Spring&#xff1f; 1.2 Spring有哪些优点&#xff1f; 1.3 Spring主要模块 1.4 Spring常用注解 1.5 Spring中Bean的作用域 1.6 Spring自动装配的方式 1.7 SpringBean的生命周期 1.8 多级缓存 1.9 循环依赖&#xff1f; 1 .8.1 原因 1.8…...

Jvascript网页设计案例:通过js实现一款密码强度检测,适用于等保测评整改

本文目录 前言功能预览样式特点总结&#xff1a;1. 整体视觉风格2. 密码输入框设计3. 强度指示条4. 结果文本与原因说明 功能特点总结&#xff1a;1. 密码强度检测2. 实时反馈机制3. 详细原因说明4. 视觉提示5. 交互体验优化 密码强度检测逻辑Html代码Javascript代码 前言 能满…...

【Scrapy】Scrapy教程2——工作原理

文章目录 数据流组件引擎Engine调度器Scheduler下载器Downloader爬虫Spiders项目管道Item Pipeline下载器中间件Downloader Middlewares爬虫中间件Spider Middlewares 在学习Scrapy前&#xff0c;我们需要先了解其架构和工作原理&#xff0c;这样才能很好的去使用Scrapy。 Scra…...

探索 DeepSeek:AI 领域的璀璨新星

在人工智能飞速发展的当下&#xff0c;DeepSeek 作为行业内的重要参与者&#xff0c;正以独特的技术和广泛的应用备受瞩目。 DeepSeek 是一家专注于实现 AGI&#xff08;通用人工智能&#xff09;的中国人工智能公司。它拥有自主研发的深度学习框架&#xff0c;能高效处理海量…...

宏基传奇swift edge偶尔开机BIOS重置

电脑是acer swift edge&#xff0c; SFA16-41&#xff0c;出厂是Win11系统&#xff0c; BIOS版本出厂1.04&#xff0c;更新到了目前最新1.10。 问题是 会偶尔开机ACER图标变小跑到屏幕左上方&#xff0c;下次开机BIOS就会被重置&#xff0c;开机等待很长时间。 因为是偶尔现象的…...

自动驾驶---如何打造一款属于自己的自动驾驶系统

在笔者的专栏《自动驾驶Planning决策规划》中&#xff0c;主要讲解了行车的相关知识&#xff0c;从Routing&#xff0c;到Behavior Planning&#xff0c;再到Motion Planning&#xff0c;以及最后的Control&#xff0c;笔者都做了相关介绍&#xff0c;其中主要包括算法在量产上…...

【C语言】第一期——数据类型变量常量

目录 1 字面量 2 整数类型 2.1 整数类型的取值范围 2.1.1 sizeof 运算符 2.2 GB、MB、KB、B之间的关系 2.3 定义整数类型的变量并打印 2.4 整数类型代码演示 3 浮点类型 3.1 浮点类型的取值范围 3.2 定义浮点类型变量并打印 3.3 保留2位小数点 4 char字符型 4.1…...

04运维实用篇(D4_日志)

目录 一、简介 二、代码中使用日志工具记录日志 1. 操作步骤 步骤1&#xff1a;添加日志记录操作 步骤2&#xff1a;设置日志输出级别 步骤3&#xff1a;设置日志组 2. 知识小结 三、优化日志对象创建代码 1. 实例 2. 总结 四、日志输出格式控制 1. 实例 2. 总结 …...

centos部署open-webui

提示&#xff1a;本文将简要介绍一下在linux下open-webui的安装过程,安装中未使用虚拟环境。 文章目录 一、open-webui是什么&#xff1f;二、安装流程1.openssl升级2.Python3.11安装3.sqlite安装升级4.pip 下载安装open-webui 总结 一、open-webui是什么&#xff1f; Open W…...

UE求职Demo开发日志#32 优化#1 交互逻辑实现接口、提取Bag和Warehouse的父类

1 定义并实现交互接口 接口定义&#xff1a; // Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h" #include "UObject/Interface.h" #include "MyInterActInterface.generated.h…...

Visonpro 检测是否有缺齿

一、效果展示 二、上面是原展开工具CogPolarUnwrapTool&#xff1b; 第二种方法&#xff1a; 用Blob 和 CogCopyRegionTool 三、 用预处理工具 加减常数&#xff0c;让图片变得更亮点 四、圆展开工具 五、模板匹配 六、代码分解 1.创建集合和文子显示工具 CogGraphicCollec…...

第1章大型互联网公司的基础架构——1.6 RPC服务

你可能在1.1节的引言中注意到业务服务层包括HTTP服务和RPC服务&#xff0c;两者的定位不一样。一般来说&#xff0c;一个业务场景的核心逻辑都是在RPC服务中实现的&#xff0c;强调的是服务于后台系统内部&#xff0c;所谓的“微服务”主要指的就是RPC服务&#xff1b;而HTTP服…...

今日AI和商界事件(2025-02-15)

根据2025年2月15日的科技动态&#xff0c;以下是今日AI领域的重要事件及相关进展总结&#xff1a; 1. DeepSeek日活突破3000万&#xff0c;开源生态加速AI普惠 里程碑意义&#xff1a;开源大模型DeepSeek宣布日活跃用户数突破3000万&#xff0c;其R1模型凭借开源策略和低成本优…...

算法题(69):搜索插入位置

审题&#xff1a; 需要我们在有序数组中找到等于target值的元素的下标若没有则返回target按顺序会插入的位置的索引 思路 &#xff1a; 我们可以使用二分查找的方法 方法一&#xff1a;二分查找 和普通的二分查找不同&#xff0c;本题若没有找到就需要返回它按顺序插入的位置的…...

在 Linux 系统中,tc(Traffic Control) QoS 常用命令简介

在 Linux 系统中&#xff0c;tc&#xff08;Traffic Control&#xff09;命令是一个强大的工具&#xff0c;用于配置和管理网络流量控制。以下是 tc 命令的常用功能和基本用法&#xff1a; 1. 查看当前队列规则 使用以下命令查看指定网络接口上的队列规则&#xff1a; tc qd…...

如何画产品功能图、结构图

功能图的类型 常见的功能图包括数据流图、用例图、活动图、状态图、类图、组件图、部署图等等&#xff0c;不同的应用场景和目标下&#xff0c;需要确定不同的功能图类型。 数据流图 用例图 状态图 类图 组件图 组件图是由软件系统、组件和组件之间的关系组成的图形&#xf…...

4090单卡挑战DeepSeek r1 671b:尝试量化后的心得的分享

引言&#xff1a; 最近&#xff0c;DeepSeek-R1在完全开源的背景下&#xff0c;与OpenAI的O1推理模型展开了激烈竞争&#xff0c;引发了广泛关注。为了让更多本地用户能够运行DeepSeek&#xff0c;我们成功将R1 671B参数模型从720GB压缩至131GB&#xff0c;减少了80%&#xff…...

SpringBoot速成(12)文章分类P15-P19

1.新增文章分类 1.Postman登录不上&#xff0c;可以从头registe->login一个新的成员:注意&#xff0c;跳转多个url时&#xff0c;post/get/patch记得修改成controller类中对应方法上写的 2.postman运行成功&#xff1a; 但表中不更新&#xff1a;细节有问题&#xff1a; c是…...

C++17中的clamp函数

一、std::clamp() 其实在前面简单介绍过这个函数&#xff0c;但当时只是一个集中的说明&#xff0c;为了更好的理解std::clamp的应用&#xff0c;本篇再详细进行阐述一次。std::clamp在C17中其定义的方式为&#xff1a; template< class T > constexpr const T& cl…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试

作者&#xff1a;Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位&#xff1a;中南大学地球科学与信息物理学院论文标题&#xff1a;BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接&#xff1a;https://arxiv.…...

无法与IP建立连接,未能下载VSCode服务器

如题&#xff0c;在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈&#xff0c;发现是VSCode版本自动更新惹的祸&#xff01;&#xff01;&#xff01; 在VSCode的帮助->关于这里发现前几天VSCode自动更新了&#xff0c;我的版本号变成了1.100.3 才导致了远程连接出…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个&#xff1f;3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制&#xff08;过半机制&#xff0…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具

文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

AI书签管理工具开发全记录(十九):嵌入资源处理

1.前言 &#x1f4dd; 在上一篇文章中&#xff0c;我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源&#xff0c;方便后续将资源打包到一个可执行文件中。 2.embed介绍 &#x1f3af; Go 1.16 引入了革命性的 embed 包&#xff0c;彻底改变了静态资源管理的…...