OWASP Top 10(2021)漏洞学习(最新)
A01:2021-权限控制失效
从第五位上升到第一位,94%的应用程序都接受了某种形式的针对“失效的访问控制”的测试,该事件的 平均发生率为 3.81%,该漏洞在提供的数据集中出现漏洞的应用数量最多,总发生漏洞应用数量超过31.8万多 次。
如用户在访问账户信息的SQL时调用了未经验证的数据,攻击者只要修改它的参数就能访问任何用户;如果用户发生了平行越权或垂直越权,这也是一种权限控制失效漏洞。
A02:2021-加密机制失效
上升一位到第二名,以前称为“敏感数据泄漏”。“敏感数据泄漏”更像是一种常见的表象问题而不是根 本原因,这项风险重点是与加密机制相关的故障(或缺乏加密机制)。 这往往会导致敏感数据泄漏。
攻击者通过检测网络流量,将HTTPS协议降级到HTTP,然后就能拦截到用户的cookie
A03:2021-注入
注入降至第三。94%的统计应用针对某种形式的注入进行了测试,最大发生率为19%,平均发生 率为3%,共计发生了27.4万次。值得注意的常见弱点枚举(CWE)包括CWE-79: Cross-site Scripting(跨站点脚本)、CWE-89:SQL Injection(SQL注入)和CWE-73:External Control of File Name or Path(文件名或路径的外部控制)。
注入类攻击是十分广泛存在的攻击手段,如cookie注入、SQL注入和反射型XSS、储存型XSS等,恶意代码在网站或数据库中的注入是常见的攻击手段
A04:2021-不安全设计
不安全设计是一个广泛的类别,代表不同的弱点,表示为“缺少或无效的控制设计”。不安全设计 不是所有其他前10个风险类别的来源。不安全设计和不安全的实现之间存在差异。我们区分设计缺陷和 实现缺陷是有原因的,它们有不同的根本原因和补救措施。安全设计仍然可能存在实现缺陷,从而导致 可能被利用的漏洞。一个不安全设计不能通过一个完美的实现来修复,因为根据定义,所需的安全控制 从未被创建来抵御特定的攻击。导致不安全设计的因素之一是开发的软件或系统中缺乏固有的业务风险 分析,因此无法确定需要何种级别的安全设计。
不安全设计一般是开发中存在的漏洞,它是一个广泛的类别,并不具体。
A05:2021-安全配置错误
您的应用程序可能受到攻击,如果应用程序是:
应用程序栈的任何部分缺少适当的安全加固,或者云服务的权限配置错误。
应用程序启用或安装了不必要的功能(例如:不必要的端口、服务、网页、帐户或权限)。
默认帐户和密码仍然可用且没有更改。
错误处理机制向用户纰漏堆栈信息或其他大量错误信息。
对于升级的系统,最新的安全特性被禁用或未安全配置。
系统的安全配置错误也是一个漏洞,比如密码的四分之三原则配置没有开启,导致密码设置过于简单,这需要安全检查来维护。
A06:2021-自带缺陷或过时的组件
如果满足下面的某个条件,那么您的应用就易受此类攻击:
- 如果您不知道所有使用的组件版本信息(包括:服务端和客户端)。这包括了直接使用的组件或间 接依赖的组件。
- 软件易受攻击,不再支持或者过时。这包括:系统、Web服务器、应用程序服务器、数据库 管理系统(DBMS)、应用程序、API和所有的组件、运行环境和库。
- 如果您没有定期做漏洞扫描和订阅使用组件的安全公告。
- 如果您不基于风险及时修复或升级底层平台、框架和依赖库。很可能发生这种情况:根据变更控制, 每月或每季度进行升级,这使得组织在这段时间内会受到已修复但未修补的漏洞的威胁。
- 如果软件工程师没有对更新的、升级的或打过补丁的组件进行兼容性测试。
- 如果您没有对组件进行安全配置(参见“A05:2021–安全配置错误”)
使用的组件可能存在缺陷和自带后门,或者平台、框架过旧,没有进行维护和升级,那么就容易被攻击。
A07:2021-身份识别和身份验证错误
在 URL 中泄露会话(Session) ID 。比方说,一段 URL 中有 Session 值,被攻击者监听到了,就很容易利用 Session 进行水平越权处理。
登录了没有转换会话(Session) ID 。
没有及时的注销会话(Session) ID ,用户的会话(Session)或者认证token(主要的单一登入认证)没有在登出或者一段时间没活动时被注销。
该漏洞指如果身份识别错误,cookie、session容易被攻击者捕捉到,然后被水平越权。
A08:2021-软件及数据完整性故障
软件和数据完整性故障与无法防止违反完整性的代码和基础设施有关。这方面的一个例子是, 应用程序依赖于不受信任的源、存储库和内容分发网络(CDN)的插件、库或模块。不安全的 CI/CD管道可能会带来未经授权的访问、恶意代码或系统安全风险。
最后,许多应用程序现在包括 自动更新功能。其中,更新包在没有进行充足完整性验证的情况下被下载,并应用于以前受信任的 应用程序。攻击者可能会上传自己的更新包,以便在所有安装上分发和运行。另一个例子是,对象 或数据被编码或序列化为攻击者可以看到和修改的结构,很容易受到不安全的反序列化的影响。
应用程序如果依赖于未知的、不受信任的源,容易造成漏洞,此外,如果更新包在没有完整性验证的情况下被下载,用被以前的应用程序使用,也会容易被攻击。
不安全的反序列化也属于此类。
A09:2021-安全日志及监控故障
安全日志和监控故障来自于Top 10的社区调查(排名第3位),比2017年OWASP Top 10社区 调查时的第10位略有上升。日志记录和监控是一项具有挑战性的测试,通常涉及访谈或询问渗透测 试期间是否检测到攻击。这个类别的CVE/CVSS数据不多,但检测和应对违规行为是至关重要的。同 时,它对问责制、可见性、事件告警和取证仍有很大的影响。
如需要审计的事件,例如:登录、失败的登录和高价值交易,但未记录。
日志只存储在本地。
安全日志的要求需要保存6个月,如果未达到标准时间,就属于安全日志和监控故障,并且安全日志中未检测重要数据,或者安全日志的加密等级不够。
A10:2021-服务器端请求伪造
一旦Web应用在获取远程资源时没有验证用户提供的URL,就会出现SSRF缺陷。
它允许攻击 者强制应用程序发送一个精心构建的请求到一个意外目的地,即使是在有防火墙、VPN或其他类型 的网络访问控制列表(ACL)保护的情况下。 随着现代Web应用为终端用户提供便利的功能,获取URL成为一种常见的场景。因此,SSRF安 全攻击事件也在不断增加。此外,由于云服务和架构的复杂性,SSRF的严重性也越来越高。
通俗来讲,有两个网站:
A网站,所有人都可以访问的外网网站
B网站,只能内部访问的网站
A网站能访问B网站
所以,作为普通用户,我们可以访问A网站,然后篡改获取资源的来源,请求从B网站获取资源。A网站没有检测我的请求合不合法,以自己A网站的身份去访问B网站,于是我们就有机会攻击B网站。
服务器请求伪造是通过访问所有人都能访问的外网网站,然后通过它的身份去访问内网网站,这就是服务器请求伪造。
相关文章:
OWASP Top 10(2021)漏洞学习(最新)
A01:2021-权限控制失效 从第五位上升到第一位,94%的应用程序都接受了某种形式的针对“失效的访问控制”的测试,该事件的 平均发生率为 3.81%,该漏洞在提供的数据集中出现漏洞的应用数量最多,总发生漏洞应用数量超过31.8万多 次。 …...
mysql 、sql server 游标 cursor
游标 声明的位置 游标必须在声明处理程序之前被声明,并且变量和条件还必须在声明游标或处理程序之前被声明 游标的使用步骤 声明游标打开游标使用游标关闭游标 (sql server 关闭游标和释放游标) sql server 游标 declare my_cursor curs…...
dockers搭建基本服务
1、使用mysql:5.6和 owncloud 镜像,构建一个个人网盘。 拉取mysql-5.6和owncloud的镜像 docker run -d --name mdb --env MYSQL_ROOT_PASSWORD123 cytopia/mysql-5.6 docker run -d -p 90:80 --name webdcloud --link mdb:mdb owncloud 注册的时候,数据…...
微信小程序纯前端从阿里云OSS下载json数据-完整版
起因 因为云开发开始收费(貌似很久了),准备改造在以前的小程序,数据转到oss上,小程序使用原生,不算专业领域, 所以先百度.... 网上的教程真的是千篇一律,大部分开局就是require(ali-oss); 好点的npm install ali-oss --save开局,拼凑操作到最后发现要用云开发,因为云…...
【微服务实战】01-工程结构概览
文章目录 工程结构概览:定义应用分层及依赖关系1.应用分层2.定义Entity3.仓储层3.1 工作单元:事务管理3.2 仓储层 4.领域事件5.APIController最佳实践 工程结构概览:定义应用分层及依赖关系 1.应用分层 领域模型层基础设施层 ⇒ 仓储应用层 ⇒ Api、后台任务Job共…...
论文导读|European Journal of Operational Research近期文章精选:旅行商问题专题
推文作者:王松阁 编者按 在“European Journal of Operational Research近期论文精选”中,我们有主题、有针对性地选择了European Journal of Operational Research中一些有趣的文章,不仅对文章的内容进行了概括与点评,而且也对文…...
playwright迭代元素
DOM结构 <ul><li>apple</li><li>banana</li><li>orange</li> </ul>迭代元素操作 通过 page.get_by_role("listitem") 会匹配到 apple, banana, orange, 如果要对这一组数据中的每个元素进行操作&#…...
65 | 增长模型案例
增长模型代表了一种综合性的方法论,旨在通过深入了解用户行为、市场趋势和数据洞察,来指导企业制定有效的增长战略。这种方法突破了传统的经验主义,将决策过程建立在数据驱动和实验的基础之上。增长模型不仅仅是一种理论,更是一种实际操作的框架,帮助企业在各个层面实现业…...
Django视图-HttpRequest请求对象和HttpResponse响应对象
文章目录 HttpRequestHttpResponse实践request对象的属性和方法响应 def index(request): 这个request其实就是内部已经封装好的Http请求HttpRequest,它是一个请求对象Django中的视图主要用来接受Web请求,并做出响应。 视图的本质就是一个Python中的函数…...
原来Lambda表达式是这样写的
原来Lambda表达式是这样写的 lambda 是一个匿名函数,我们可以把 lambda 表达式理解为是一段可以传递的代码。 lambda 简明地将代码或方法作为参数传递进去执行。 函数式编程:核心是把函数作为值。 函数式接口 :只有一个抽象方法的接口称之…...
smartsofthelp 5.0 最专业的数据库优化工具,数据库配置优化,数据库高并发优化,SQL 语句优化...
下载地址:百度网盘 请输入提取码 SQL操作返回历史记录: 2023-08-21 20:42:08:220 输入:select version as 版本号 2023-08-21 20:42:08:223 输出:当前数据库实例版本号:Microsoft SQL Server 2012 - 11.0.2100.60 (X64) …...
智影 R100:首款三维Mesh建模的SLAM激光扫描仪
近年来,激光SLAM系统凭借其更加快速且准确获取更丰富信息的优势,迅速风靡测绘领域,让原本耗时耗力的外业测量变得更加高效。手持激光扫描仪作为基于激光SLAM技术衍生的众多产品之一,相较于架站式激光扫描仪更加轻巧便利࿰…...
Next.js - Loading UI and Streaming
特殊文件 loading.js 可帮助您使用 React Suspense 创建有意义的加载用户界面。使用此约定,您可以在加载路由段内容时显示来自服务器的即时加载状态。渲染完成后,新的内容会自动切换进来。 即时加载状态 即时加载状态是在导航时立即显示的后备用户界面…...
快速解决Ubuntu 中 wine 程序 中文显示为方块/显示错误/无法显示中文(2023)
解决办法就是在创建prefix的命令行里加上LANG“zh_CN.UTF8” 或 LC_ALL“zh_CN.UTF8”,并安装cjkfonts,即可。 1、生成prefix、安装cjk字体 以下是基本流程: 现在假定wine和winetricks已经装好, // 先创建一个prefix࿰…...
漏洞指北-VulFocus靶场专栏-中级02
漏洞指北-VulFocus靶场专栏-中级02 中级005 🌸thinkphp lang 命令执行(thinkphp:6.0.12)🌸step1:burp suite 抓包 修改请求头step2 修改成功,访问shell.php 中级006 🌸Metabase geojson任意文件…...
【开源三方库】bignumber.js:一个大数数学库
OpenHarmony(OpenAtom OpenHarmony简称“OpenHarmony”)三方库,是经过验证可在OpenHarmony系统上可重复使用的软件组件,可帮助开发者快速开发OpenHarmony应用。如果是发布到开源社区,称为开源三方库,开发者…...
【C++】iota函数 + sort函数实现基于一个数组的多数组对应下标绑定排序
目录 一、iota函数 1. 函数解析 ① 迭代器类型(补充) ② 头文件 ③ 参数 2. 函数用途与实例 二、sort函数 1、 函数解读 2、实现倒序排列 2.1 greater 与 less 模板参数 2.2 lambda表达式 三、下标绑定排序(zip) --- 833.字符串中的查找与替换 一、…...
C# window forms 进度条实现
在 C# Windows Forms 应用程序中,如果在后台执行长时间运行的任务,并希望同时更新进度条,可以使用多线程来实现。这将确保进度条的更新不会阻塞主线程,从而保持界面的响应性。以下是一个示例,演示了如何在后台执行任务…...
ListNode相关
目录 2. 链表相关题目 2.1 合并两个有序链表(简单):递归 2.2 删除排序链表中的重复元素(简单):一次遍历 2.3 两链表相加(中等):递归 2.4 删除链表倒数第N个节点&…...
docker的资源控制及docker数据管理
目录 一.docker的资源控制 1.CPU 资源控制 1.1 资源控制工具 1.2 cgroups有四大功能 1.3 设置CPU使用率上限 1.4 进行CPU压力测试 1.5 设置50%的比例分配CPU使用时间上限 1.6 设置CPU资源占用比(设置多个容器时才有效) 1.6.1 两个容器测试cpu 2&…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...
基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
华为OD机考-机房布局
import java.util.*;public class DemoTest5 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseSystem.out.println(solve(in.nextLine()));}}priv…...
uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...
提升移动端网页调试效率:WebDebugX 与常见工具组合实践
在日常移动端开发中,网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时,开发者迫切需要一套高效、可靠且跨平台的调试方案。过去,我们或多或少使用过 Chrome DevTools、Remote Debug…...
高考志愿填报管理系统---开发介绍
高考志愿填报管理系统是一款专为教育机构、学校和教师设计的学生信息管理和志愿填报辅助平台。系统基于Django框架开发,采用现代化的Web技术,为教育工作者提供高效、安全、便捷的学生管理解决方案。 ## 📋 系统概述 ### 🎯 系统定…...
车载诊断架构 --- ZEVonUDS(J1979-3)简介第一篇
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 做到欲望极简,了解自己的真实欲望,不受外在潮流的影响,不盲从,不跟风。把自己的精力全部用在自己。一是去掉多余,凡事找规律,基础是诚信;二是…...
Docker、Wsl 打包迁移环境
电脑需要开启wsl2 可以使用wsl -v 查看当前的版本 wsl -v WSL 版本: 2.2.4.0 内核版本: 5.15.153.1-2 WSLg 版本: 1.0.61 MSRDC 版本: 1.2.5326 Direct3D 版本: 1.611.1-81528511 DXCore 版本: 10.0.2609…...
