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&…...
通过请求头传数据向后端发请求
axios (get post请求、头部参数添加)傻瓜式入门axios_axiospost请求参数_web_blog的博客-CSDN博客...
产品流程图是什么?怎么做?
产品流程图是什么? 产品流程图是一种图形化的表达方式,用于描述产品开发、制造、销售、使用等各个阶段中涉及的流程、步骤和关系。它通过图形符号、箭头、文本等元素,展示了产品的各个环节之间的关联和顺序,通常被用于可视化产…...
面试之快速学习STL-map
关联式容器 包括 map、multimap、set 以及 multiset 这 4 种容器。和序列式容器区别: a . 关联式容器在存储元素时还会为每个元素在配备一个键,整体以键值对的方式存储到容器中。 b . 相比前者,关联式容器可以通过键值直接找到对应的元素&am…...
ES的索引结构与算法解析
提到ES,大多数爱好者想到的都是搜索引擎,但是明确一点,ES不等同于搜索引擎。不管是谷歌、百度、必应、搜狗为代表的自然语言处理(NLP)、爬虫、网页处理、大数据处理的全文搜索引擎,还是有明确搜索目的的搜索行为,如各大…...
32.Netty源码之服务端如何处理客户端新建连接
highlight: arduino-light 服务端如何处理客户端新建连接 Netty 服务端完全启动后,就可以对外工作了。接下来 Netty 服务端是如何处理客户端新建连接的呢? 主要分为四步: md Boss NioEventLoop 线程轮询客户端新连接 OP_ACCEPT 事件ÿ…...
代码随想录day11
20. 有效的括号 ● 力扣题目链接 ● 给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串,判断字符串是否有效。 ● 有效字符串需满足: ● 左括号必须用相同类型的右括号闭合。 ● 左…...
RabbitMQ实习面试题
RabbitMQ实习面试题 在 RabbitMQ 中,确保生产者消息正确发布以及确保消费者已经消费是非常重要的任务。以下是一些方法和策略,可以帮助您在 RabbitMQ 中实现这些目标: 确保生产者消息正确发布: 持久化消息:将消息设…...
Electron入门,项目运行,只需四步轻松搞定。
electron 简单介绍: 实现:HTML/CSS/JS桌面程序,搭建跨平台桌面应用。 electron 官方文档: [https://electronjs.org/docs] 本文是基于以下2篇文章且自行实践过的,可行性真实有效。 文章1: https://www.cnbl…...
【C++】visualstudio环境安装
记录了部分安装步骤,可能有点不全,参考下,需要的磁盘空间差不多20GB; 下载 https://visualstudio.microsoft.com/zh-hans/vs/ 下载完成: 双击进入安装状态: 根据自己的需求勾选安装项: 选择…...
使用MySQL:5.6和owncloud镜像搭建个人网盘
拉取镜像 [rootkvm ~]# docker pull mysql:5.6[rootkvm ~]# docker pull owncloud启动mysql容器 [rootkvm ~]# docker run -d --name db1 -e MYSQL_ROOT_PASSWORDroot mysql:5.6 db832e4e4333a0e9a7c152a67272721fdbe5381054090c5eb24f90455390a852 [rootkvm ~]# docker ps …...
万润 企业网站建设/足球世界排名前十
非常喜欢这本书,验证并且补充了自己一些工作和生活方式。整本书,关于自己营销,自己投资,把自己当作企业,财务自由、健康等方面的知识让我有很大的共鸣。很有信心借此去实践,更快的走向财务自由,…...
龙岗附近网站建设/百度网首页官网登录
BMP格式的图片怎在线压缩,大家在上传图片的时候有没有遇到过“因文件太大,上传失败”的问题,图片太大不仅占用空间,而且十分影响传递,那有没有什么解决方法呢,接下来让小编来告诉大家吧。第一、打开电脑&am…...
巴南网站制作/武汉seo网站优化
创建一个序列(NewStudNo),初始值为10001,步长为1,最大值为99999 create sequence newstudno increment by 1 --每次增长1start with 10001 --表示从1开始计值maxvalue 99999 --有两个可选值,要么无最大值&a…...
江门网站推广技巧付费/深圳知名seo公司
2019独角兽企业重金招聘Python工程师标准>>> 实现步骤: 1.自定义转换器,实现Convert接口 package jv.springmvc.requestmapping;import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date;import org.spr…...
网站建设乙方义务/seo优化方案策划书
《ASP.NET 2.0 Website Programming / Problem - Design - Solution》一书的范例TheBeerHouse 现在采用ASP.NET MVC进行了重写,书名也进行了更新《ASP.NET MVC 1.0 Website Programming: Problem - Design Solution (Amazon)》,现在可算是asp.net mvc的一…...
wordpress怎样添加会员/品牌推广网络公司
1.遇到你真的爱的人时:要努力争取和他相伴一生的机会,因为当他离去时,一切都来不及了.2.遇到可相信的朋友时: 要好好和他相处下去,因为人的一生中,可遇到知己真的不易. 3.遇到人生中的贵人时 :要记得好好感激,因为他是你人生的转折点. 4.遇到曾经爱过的人时 :记得微笑向她感激,…...