网络安全-攻击流程-应用层
应用层攻击针对OSI模型的第七层(应用层),主要利用协议漏洞、业务逻辑缺陷或用户交互弱点,直接威胁Web应用、API、数据库等服务。以下是常见应用层攻击类型及其流程,以及防御措施:
1. SQL注入(SQL Injection)
攻击流程:
- 漏洞探测:攻击者向输入字段(如登录框、搜索栏)提交试探性SQL语句(如
' OR 1=1 --
)。 - 语句构造:若应用未过滤输入,恶意SQL语句被拼接至数据库查询中。
- 数据窃取/篡改:执行非法操作(如提取用户表、删除数据、绕过身份验证)。
防御措施:
- 使用参数化查询(预编译语句)或ORM框架。
- 输入验证与过滤(白名单机制)。
- 部署Web应用防火墙(WAF)拦截恶意语句。
2. 跨站脚本攻击(XSS)
攻击流程:
- 注入恶意脚本:攻击者在用户可输入区域(如评论框)插入JavaScript代码(如
<script>alert('XSS')</script>
)。 - 脚本传播:未转义的脚本被服务器存储或直接反射到其他用户页面。
- 用户劫持:受害者浏览器执行恶意脚本,窃取Cookie、重定向到钓鱼网站或劫持会话。
防御措施:
- 对用户输入和输出内容进行HTML转义(如
&
转&
)。 - 设置HTTP头
Content-Security-Policy (CSP)
限制脚本来源。 - 标记Cookie为
HttpOnly
和Secure
。
3. 跨站请求伪造(CSRF)
攻击流程:
- 构造恶意请求:攻击者创建伪装成合法操作的请求链接(如转账URL)。
- 诱导用户触发:通过钓鱼邮件、恶意网站诱导已登录用户点击链接。
- 执行非授权操作:用户浏览器自动携带Cookie发送请求,执行攻击者预设操作(如修改密码)。
防御措施:
- 使用CSRF Token(服务端生成并验证唯一令牌)。
- 检查请求头
Referer
或Origin
字段。 - 关键操作需二次验证(如短信验证码)。
4. 应用层DDoS攻击
攻击流程:
- 模拟合法请求:攻击者发送大量高仿真的HTTP请求(如频繁访问登录页、API接口)。
- 资源耗尽:目标服务器因处理请求耗尽CPU、内存或数据库连接。
- 服务瘫痪:正常用户无法访问服务(如电商秒杀场景下的CC攻击)。
防御措施:
- 设置请求频率限制(如IP限速、人机验证)。
- 使用CDN缓存静态内容,减轻源站压力。
- 基于AI/ML的行为分析识别异常流量。
5. 钓鱼攻击(Phishing)
攻击流程:
- 伪造信任:攻击者仿冒合法网站或邮件(如银行、社交平台)。
- 诱导交互:通过链接、附件诱导用户输入敏感信息(账号、密码)。
- 信息窃取:攻击者获取数据后实施进一步攻击(如账户盗用、勒索)。
防御措施:
- 用户教育(识别钓鱼邮件特征)。
- 部署邮件网关过滤恶意链接。
- 启用多因素认证(MFA)降低凭证泄露风险。
6. 文件上传漏洞
攻击流程:
- 上传恶意文件:攻击者上传包含后门(如
.php
、.jsp
)或恶意脚本的文件。 - 服务器执行:若服务器未限制文件类型或未隔离存储,恶意文件被解析执行。
- 控制服务器:攻击者获取服务器权限,植入木马或窃取数据。
防御措施:
- 限制上传文件类型(白名单校验扩展名和MIME类型)。
- 重命名文件并存储至非Web目录。
- 使用杀毒软件扫描上传内容。
7. API滥用攻击
攻击流程:
- 接口探测:攻击者枚举API端点(如
/api/v1/users
)。 - 越权访问:利用未授权访问漏洞(如未鉴权的管理接口)获取敏感数据。
- 数据泄露:批量爬取用户信息或滥用业务逻辑(如无限领取优惠券)。
防御措施:
- 实施严格的身份认证与权限控制(OAuth 2.0、JWT)。
- 限制API调用频率与返回数据量。
- 使用API网关监控和日志分析。
8. 命令注入(Command Injection)
攻击流程:
- 注入系统命令:攻击者通过输入字段注入操作系统命令(如
; rm -rf /
)。 - 服务端执行:应用未过滤直接调用系统命令(如调用
ping
命令)。 - 系统控制:攻击者执行任意命令,删除文件或反弹Shell。
防御措施:
- 避免直接拼接用户输入到系统命令。
- 使用安全的函数替代(如Python的
subprocess
而非os.system
)。 - 输入内容严格校验(禁止特殊字符)。
9. 业务逻辑漏洞
攻击流程:
- 逻辑绕过:攻击者利用业务流程缺陷(如修改价格参数、重复提交订单)。
- 非法获利:通过篡改数据或绕过限制实现非预期操作(如0元购、刷积分)。
- 系统失衡:破坏业务规则,导致资金损失或数据混乱。
防御措施:
- 关键业务操作服务端二次校验(如支付金额、库存)。
- 记录并审计用户操作日志。
- 设计业务流程时进行威胁建模。
10. 零日漏洞利用
攻击流程:
- 漏洞发现:攻击者挖掘未公开的应用程序漏洞(如框架缺陷、配置错误)。
- 编写Exploit:开发利用代码绕过现有防护措施。
- 定向攻击:针对目标发起攻击,获取控制权或窃取数据。
防御措施:
- 定期更新应用和依赖库(如Java Log4j漏洞修复)。
- 参与漏洞赏金计划,提前发现潜在风险。
- 部署运行时应用自我保护(RASP)技术。
通用防御策略
- 纵深防御:结合WAF、IDS/IPS、日志监控等多层防护。
- 安全开发:遵循安全编码规范(如OWASP Top 10)。
- 定期渗透测试:模拟攻击检测漏洞。
- 最小权限原则:限制应用和用户的访问权限。
应用层攻击隐蔽性强且危害直接,需通过技术防护、流程管控和用户教育综合应对。
相关文章:
网络安全-攻击流程-应用层
应用层攻击针对OSI模型的第七层(应用层),主要利用协议漏洞、业务逻辑缺陷或用户交互弱点,直接威胁Web应用、API、数据库等服务。以下是常见应用层攻击类型及其流程,以及防御措施: 1. SQL注入(SQ…...

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

Jvascript网页设计案例:通过js实现一款密码强度检测,适用于等保测评整改
本文目录 前言功能预览样式特点总结:1. 整体视觉风格2. 密码输入框设计3. 强度指示条4. 结果文本与原因说明 功能特点总结:1. 密码强度检测2. 实时反馈机制3. 详细原因说明4. 视觉提示5. 交互体验优化 密码强度检测逻辑Html代码Javascript代码 前言 能满…...

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

探索 DeepSeek:AI 领域的璀璨新星
在人工智能飞速发展的当下,DeepSeek 作为行业内的重要参与者,正以独特的技术和广泛的应用备受瞩目。 DeepSeek 是一家专注于实现 AGI(通用人工智能)的中国人工智能公司。它拥有自主研发的深度学习框架,能高效处理海量…...
宏基传奇swift edge偶尔开机BIOS重置
电脑是acer swift edge, SFA16-41,出厂是Win11系统, BIOS版本出厂1.04,更新到了目前最新1.10。 问题是 会偶尔开机ACER图标变小跑到屏幕左上方,下次开机BIOS就会被重置,开机等待很长时间。 因为是偶尔现象的…...

自动驾驶---如何打造一款属于自己的自动驾驶系统
在笔者的专栏《自动驾驶Planning决策规划》中,主要讲解了行车的相关知识,从Routing,到Behavior Planning,再到Motion Planning,以及最后的Control,笔者都做了相关介绍,其中主要包括算法在量产上…...
【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:添加日志记录操作 步骤2:设置日志输出级别 步骤3:设置日志组 2. 知识小结 三、优化日志对象创建代码 1. 实例 2. 总结 四、日志输出格式控制 1. 实例 2. 总结 …...

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

UE求职Demo开发日志#32 优化#1 交互逻辑实现接口、提取Bag和Warehouse的父类
1 定义并实现交互接口 接口定义: // 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; 第二种方法: 用Blob 和 CogCopyRegionTool 三、 用预处理工具 加减常数,让图片变得更亮点 四、圆展开工具 五、模板匹配 六、代码分解 1.创建集合和文子显示工具 CogGraphicCollec…...

第1章大型互联网公司的基础架构——1.6 RPC服务
你可能在1.1节的引言中注意到业务服务层包括HTTP服务和RPC服务,两者的定位不一样。一般来说,一个业务场景的核心逻辑都是在RPC服务中实现的,强调的是服务于后台系统内部,所谓的“微服务”主要指的就是RPC服务;而HTTP服…...
今日AI和商界事件(2025-02-15)
根据2025年2月15日的科技动态,以下是今日AI领域的重要事件及相关进展总结: 1. DeepSeek日活突破3000万,开源生态加速AI普惠 里程碑意义:开源大模型DeepSeek宣布日活跃用户数突破3000万,其R1模型凭借开源策略和低成本优…...

算法题(69):搜索插入位置
审题: 需要我们在有序数组中找到等于target值的元素的下标若没有则返回target按顺序会插入的位置的索引 思路 : 我们可以使用二分查找的方法 方法一:二分查找 和普通的二分查找不同,本题若没有找到就需要返回它按顺序插入的位置的…...
在 Linux 系统中,tc(Traffic Control) QoS 常用命令简介
在 Linux 系统中,tc(Traffic Control)命令是一个强大的工具,用于配置和管理网络流量控制。以下是 tc 命令的常用功能和基本用法: 1. 查看当前队列规则 使用以下命令查看指定网络接口上的队列规则: tc qd…...

如何画产品功能图、结构图
功能图的类型 常见的功能图包括数据流图、用例图、活动图、状态图、类图、组件图、部署图等等,不同的应用场景和目标下,需要确定不同的功能图类型。 数据流图 用例图 状态图 类图 组件图 组件图是由软件系统、组件和组件之间的关系组成的图形…...

4090单卡挑战DeepSeek r1 671b:尝试量化后的心得的分享
引言: 最近,DeepSeek-R1在完全开源的背景下,与OpenAI的O1推理模型展开了激烈竞争,引发了广泛关注。为了让更多本地用户能够运行DeepSeek,我们成功将R1 671B参数模型从720GB压缩至131GB,减少了80%ÿ…...

SpringBoot速成(12)文章分类P15-P19
1.新增文章分类 1.Postman登录不上,可以从头registe->login一个新的成员:注意,跳转多个url时,post/get/patch记得修改成controller类中对应方法上写的 2.postman运行成功: 但表中不更新:细节有问题: c是…...
C++17中的clamp函数
一、std::clamp() 其实在前面简单介绍过这个函数,但当时只是一个集中的说明,为了更好的理解std::clamp的应用,本篇再详细进行阐述一次。std::clamp在C17中其定义的方式为: template< class T > constexpr const T& cl…...
RestClient
什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级ÿ…...

中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...

无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...

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

高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
连锁超市冷库节能解决方案:如何实现超市降本增效
在连锁超市冷库运营中,高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术,实现年省电费15%-60%,且不改动原有装备、安装快捷、…...

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.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...