网络安全-攻击流程-应用层
应用层攻击针对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…...
Ubuntu 24.04.1 LTS 本地部署 DeepSeek 私有化知识库
文章目录 前言工具介绍与作用工具的关联与协同工作必要性分析 1、DeepSeek 简介1.1、DeepSeek-R1 硬件要求 2、Linux 环境说明2.1、最小部署(Ollama DeepSeek)2.1.1、扩展(非必须) - Ollama 后台运行、开机自启: 2.2、…...
微信小程序中缓存数据全方位解惑
微信小程序中缓存数据全方位解惑 微信小程序中的数据缓存是提升用户体验和优化性能的重要手段,跟电脑浏览器中的Local Storage的性质一样。以下是关于微信小程序数据缓存的相关知识点和示例的详细介绍: 1. 数据缓存的类型 微信小程序提供了两种数据缓…...
python语言进阶之函数
目录 前言 函数的创建和调用 函数创建 调用函数 参数传递 形式参数和实际参数 位置参数 数量必须与定义时一致 位置必须与定义时一致 关键字参数 为参数设置默认值 可变参数 **parameter 返回值 变量的作用域 局部变量 全局变量 匿名函数 前言 提到函数&…...
Mybatis-扩展功能
逻辑删除乐观锁 MyBatisPlus从入门到精通-3(含mp代码生成器) Db静态工具类 Spring依赖循环问题 代码生成器 MybatisPlus代码生成器 枚举处理器 我们这里用int来存储状态 需要注解,很不灵活 希望用枚举类来代替这个Integer 这样的话我…...
青少年编程与数学 02-009 Django 5 Web 编程 16课题、权限管理
青少年编程与数学 02-009 Django 5 Web 编程 16课题、权限管理 一、授权授权的主要特点和作用授权的类型应用场景 二、权限系统使用Django内置的权限系统使用组管理权限使用第三方库在视图中应用权限 三、权限管理示例步骤 1: 创建Django项目和应用步骤 2: 定义模型和权限步骤 …...
Baklib知识中台构建企业智能运营核心架构
内容概要 在数字化转型的浪潮中,企业对于知识的系统化管理需求日益迫切。Baklib作为新一代的知识中台,通过构建智能运营核心架构,为企业提供了一套从知识汇聚到场景化落地的完整解决方案。其核心价值在于将分散的知识资源整合为统一的资产池…...
Java爬虫获取1688商品搜索API接口的实现指南
在电商数据分析、市场调研以及商品选品等领域,按关键字搜索1688商品并获取相关数据是一项重要的任务。本文将详细介绍如何使用Java爬虫技术,通过1688的API接口按关键字搜索商品,并解析返回的数据。以下是实现的完整步骤和代码示例。 一、前期…...
Ubuntu启动geteck/jetlinks实战:Docker启动
参考: JetLinks 物联网基础平台 安装Docker Ubuntu下载安装Docker-Desktop-CSDN博客 sudo apt install -y docker-compose 下载源码 # github亦可 git clone https://gitee.com/jetlinks/jetlinks-community.git cd jetlinks-community 启动 cd docker/run-a…...
保姆级GitHub大文件(100mb-2gb)上传教程
GLF(Git Large File Storage)安装使用 使用GitHub desktop上传大于100mb的文件时报错 The following files are over 100MB. lf you commit these files, you will no longer beable to push this repository to GitHub.com.term.rarWe recommend you a…...
【16届蓝桥杯寒假刷题营】第2期DAY1I
4.有向无环的路径数 - 蓝桥云课 问题描述 给定 N 个节点 M 条边的有向无环图,请你求解有多少条 1 到 N 的路径。 由于答案可能很大,你只需要输出答案对 998244353 取模后的结果。 输入格式 第一行包含 2 个正整数 N,M,表示有向无环图的节…...
WEB安全--SQL注入--PDO与绕过
一、PDO介绍: 1.1、原理: PDO支持使用预处理语句(Prepared Statements),这可以有效防止SQL注入攻击。预处理语句将SQL语句与数据分开处理,使得用户输入的数据始终作为参数传递给数据库,而不会直…...
SQL与数据库程序设计
1.1986年,10月美国国家标准局颁布了SQL语言的美国标准,称为SQL86 2.SQL(Structured Query Language)又称为结构化查询语言 3.建立索引的主要目的是加快查找的速度 4.在基本表上建立一个或者多个索引 5. 一个基本表是最多只能建立一个聚簇索引 6.CAL…...
软考高级《系统架构设计师》知识点(五)
计算机网络 网络概述和模型 计算机网络是计算机技术与通信技术相结合的产物,它实现了远程通信、远程信息处理和资源共享。 计算机网络的功能:数据通信、资源共享、管理集中化、实现分布式处理、负载均衡。 网络性能指标:速率、带宽(频带宽度或…...
DeepSeek 助力 Vue 开发:打造丝滑的面包屑导航(Breadcrumbs)
前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…...
Ubuntu 系统 LVM 逻辑卷扩容教程
Ubuntu 系统 LVM 逻辑卷扩容教程 前言 在 Linux 系统中,LVM(Logical Volume Manager)是一种逻辑卷管理工具,允许管理员动态调整磁盘空间,而无需重启系统。 本文将详细介绍如何使用 LVM 扩容逻辑卷,以实现…...
美团一面,有点难度。
一位粉丝朋友分享了最近参与美团民宿旅游业务线的一面的经历,全程约1小时,面试官围绕高并发、分布式事务、性能优化等高频考点展开追问,问题密集且注重落地细节。以下是完整问题整理回答思路扩展解析,助你避坑! 一、项…...
7-Zip Final绿色版:高效压缩解压缩工具
在工作与学习旅程中,我们时常需要与各式各样的文件和文件夹打交道。为了更有效地利用存储空间或促进文件的便捷传输,压缩与解压工具自然而然地成为了我们不可或缺的助手。在众多同类工具中,7-Zip凭借其高效能、免费及开源的特性,深…...
详解如何使用Pytest内置Fixture tmp_path 管理临时文件
关注开源优测不迷路 大数据测试过程、策略及挑战 测试框架原理,构建成功的基石 在自动化测试工作之前,你应该知道的10条建议 在自动化测试中,重要的不是工具 临时目录在测试中起着至关重要的作用,它为执行和验证代码提供了一个可控…...
QML使用ChartView绘制饼状图
一、工程配置 首先修改CMakeLists.txt,按下图修改: find_package(Qt6 6.4 REQUIRED COMPONENTS Quick Widgets) PRIVATEtarget_link_libraries(appuntitledPRIVATE Qt6::QuickPRIVATE Qt6::Widgets )其次修改main.cpp,按下图修改ÿ…...
用大模型学大模型03-数学基础 概率论 最大似然估计(MLE)最大后验估计(MAP)
https://metaso.cn/s/r4kq4Ni 什么是最大似然估计(MLE)最大后验估计(MAP)?深度学习中如何应用,举例说明。 好的,我现在需要回答关于最大似然估计(MLE)和最大后验估计&…...
Rust学习总结之结构体(一)
一:结构体定义 定义结构体,需要使用 struct 关键字并为整个结构体提供一个名字。结构体的名字需要描述它所组合的数据的意义。接着,在大括号中,定义每一部分数据的名字和类型,我们称为 字段(field…...
【Android开发】华为手机安装包安装失败“应用是非正式版发布版本,当前设备不支持安装”问题解决
问题描述 我们将Debug版本的安装包发送到手机上安装,会发现华为手机有如下情况 解决办法 在文件gradle.properties中粘贴代码: android.injected.testOnlyfalse 最后点击“Sync now”,等待重新加载gradle资源即可 后面我们重新编译Debug安装…...
Ubuntu添加桌面快捷方式
以idea为例 一. 背景 在ubuntu中,很多时候是自己解压的文件并没有桌面快捷方式,需要自己找到对应的目录的执行文件手动打开,很麻烦 而只需要在 /usr/share/applications 中创建自定义的desktop文件就能自动复制到桌面 二. 添加方法 创建desk…...
day09_实时类标签/指标
文章目录 day09_实时类标签/指标一、日志数据实时采集2、Flume简介2.3 项目日志数据采集Flume配置2.3.1 涉及的Flume组件和参数2.3.2 Nginx日志采集2.3.3 用户行为日志采集 二、Nginx日志数据统计1、日志格式说明2、数据ETL2.1 日志抽取2.1.1 正则表达式2.1.2 基于Spark实现Ngi…...
排序算法的魔法世界:用C语言揭开数据排列的奥秘
当数据开始跳集体舞:排序的意义 想象你面前有一群调皮的数字精灵在开派对,7和3在跳探戈,9和1在玩捉迷藏,5和2在抢蛋糕。这时候就需要排序算法这位神奇的派对管家出场了!它像音乐指挥家一样挥动魔棒,让所有数字精灵乖乖排成整齐的队伍。在计算机的世界里,排序算法就是处…...
网页模板免费HTML源码 HTML网页设计模板
在现代网站开发中,拥有一个美观且功能齐全的网页模板是至关重要的。对于许多开发者和设计师来说,获取高质量的免费HTML源码和网页设计模板可以大大简化开发流程。本文将探讨网页模板免费HTML源码的资源、优势以及如何有效利用这些模板。 什么是网页模板…...
Python实现语音识别详细教程【2025】最新教程
文章目录 前言一、环境搭建1. 下载 Python2. 安装 Python3 使用 pip 安装必要的库 二、使用 SpeechRecognition 库进行语音识别1.识别本地音频文件2.实时语音识别3. 使用其他语音识别引擎 注意事项 前言 以下是一份较为完整的 Python 语音识别教程,涵盖环境搭建、使…...
与传统光伏相比 城电科技的光伏太阳花有什么优势?
相比于传统光伏,城电科技的光伏太阳花有以下优势: 一、发电效率方面 智能追踪技术:光伏太阳花通过内置的智能追踪系统,采用全球定位跟踪算法,能够实时调整花瓣(即光伏板)的角度,确…...
Qt——连接MySQL数据库之ODBC的方法详细总结(各版本大同小异,看这一篇就够了)
【系列专栏】:博主结合工作实践输出的,解决实际问题的专栏,朋友们看过来! 《项目案例分享》 《极客DIY开源分享》 《嵌入式通用开发实战》 《C++语言开发基础总结》 《从0到1学习嵌入式Linux开发》 《QT开发实战》 《Android开发实战》 《实用硬件方案设计》 《结构建模设…...
