OWASP Top 10 网络安全10大漏洞——A03:2021-注入

10大Web应用程序安全风险

2021年top10中有三个新类别、四个类别的命名和范围变化,以及一些合并。
在这里插入图片描述

A03:2021-注入

Injection从第一的位置滑落至第三位置。94% 的应用程序针对某种形式的注入进行了测试,最大发生率为 19%,平均发生率为 3%,发生次数为 274,000 次。常见弱点枚举 (CWE) 包括 CWE-79:跨站点脚本、CWE-89:SQL 注入和CWE-73:文件名或路径的外部控制。

已映射的CWE最大发生率平均发生率平均加权漏洞利用平均加权影响最大覆盖范围平均覆盖率总发生次数CVE 总数
3319%3.37%7.257.1594.04%47.9% 274,22832,078

什么是注入?

代码注入:是因处理无效数据的而引发的程序错误。代码注入可被攻击者用来导入代码到某特定的计算机程序,以改变程序的执行进程或目的。代码注入攻击的结果可以是灾难性的。例如说:代码注入可作为许多电脑蠕虫繁殖的温床。常见有:SQL 注入、PHP注入、Shell注入、HTML注入、ASP注入等。
恶意用途的代码注入可包括:

透过SQL注入(见下文)随意修改数据库中的值。影响所及可从某网站外观损毁,到对敏感资料严重的破坏。常见的有:数字类型的注入、字串类型的注入、post注入、cookie注入、http注入等
当用户拜访恶意网站时,透过网页浏览器或其插件的漏洞安全隐患,进行代码注入,以便安装流氓软件到用户机器上。
透过PHP或者ASP注入安装流氓软件或者执行恶意代码于服务端。
于UNIX系统利用Shell注入安全隐患对setuid root二进制资料作修改,达成提权到root使用权限的目的。
于视窗系统利用Shell注入安全隐患对系统服务做手脚,达成提权到本地端系统使用权限的目的。
从网页浏览器利用HTML/脚本注入(跨网站脚本)进行联机窃取 / cookies窃取进而冒充他人,获取他人个人敏感资料。

预防

要避免代码注入的种种问题,得充分发挥输入输出处理保全,例如:

  • 输入确认。
  • 更换危险字符。例如在PHP透过addslashes()函数保护SQL注入。
  • 输入编码。
  • 输出编码。
  • 采用其他没有饱受代码注入漏洞困扰的编程实现,例如“参数化SQL查询” (“parameterized SQL queries” 又名 “prepared statements” 亦有时称 “bind variables”) 。

对非受信的用户输入数据进行净化,删除不安全的字符。创建一份安全字符串列表,限制用户只能输入该列表的数据。不要让用户直接控制eval()、eser()、readObject()等函数的参数。使用源代码静态分析工具,进行自动化的检测,可以有效的发现源代码中的命令注入问题。不要使用管理员权限的数据库连接,为每个应用使用单独的权限有限的数据库连接。不要把机密信息明文存放,请加密或者hash掉密码和敏感的信息。应用的异常信息应该给出尽可能少的提示,最好使用自定义的错误信息对原始错误信息进行包装,把异常信息存放在独立的表中。做好更多的输入输出处理保全,更好的保护你的程序是每个代码审计专员的责任。

A01:2021-访问控制中断
A02:A02:2021-加密机制失效

A03:2021-注入

A04:2021-不安全设计
A05:2021-安全配置错误

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/739034.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32CubeMX学习笔记19——SD卡(SDIO接口)

1、简介 1.1 SD卡简介 很多单片机系统都需要大容量存储设备,以存储数据(常用的有U盘、FLASH芯片、SD卡等),比较而言SD卡是单片机大容量外部存储的首选,只需要少数几个IO口即可外扩一个容量从几十M到几十G的&#xff…

力扣--动态规划/深度优先算法/回溯算法93.复原IP地址

这题主要用了动态规划和回溯算法。 动态规划数组初始化(DP数组): 首先,创建一个二维数组dp,用于记录字符串中哪些部分是合法的IP地址。对字符串进行遍历,同时考虑每个可能的IP地址部分(每部分由1到3个字符组…

共同聚焦空气污染治理,打造可持续发展未来|中联环保圈

在2024年全国生态环境保护工作会议上,我国生态环境部明确提出,“加强重点区域空气质量改善的监督帮扶和统筹强化监督”将成为未来生态环境保护工作的重中之重。这一战略方向的转变,清晰地展现了我国在空气污染治理政策上的优化和深化。 回顾2…

antd vue Tabs控件的使用

Ant Design Vue-------Tabs标签页 今天就讲讲Ant Design Vue下的控件----tabs 标签页 结合项目中的需求,讲一下该控件如何使用,需求: (1)竖排样式 (2)如何使用v-for绑定数据源 (3…

当HR问你为什么申请这个职业,你该怎么回答?【文章底部添加进大学生就业交流群】

目录 强调对公司的了解: 突出你的技能和经验: 表达对行业的热情: 谈论个人发展: 对公司的价值观的契合: 当HR问你为什么申请这个职业时,你可以通过以下方式回答: 强调对公司的了解&#xf…

物联网导论

物联网起源 物联网:是一个基于互联网、传统电信网等信息承载体,让所有能够被独立寻址的普通物理对象实现互联互通的网络。它具有普通对象设备化、自治终端互联化和普适服务智能化三个重要特征。 按照规定的协议,将具有感知、通信、计算等功…

Linux入门基本指令(1)

✨前言✨ 📘 博客主页:to Keep博客主页 🙆欢迎关注,👍点赞,📝留言评论 ⏳首发时间:2024年3月12日 📨 博主码云地址:渣渣C 📕参考书籍:…

【Python】新手入门学习:什么是工作目录?

【Python】新手入门学习:什么是工作目录? 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程👈 希望得…

L2-006 树的遍历(Java)

给定一棵二叉树的后序遍历和中序遍历,请你输出其层序遍历的序列。这里假设键值都是互不相等的正整数。 输入格式: 输入第一行给出一个正整数N(≤30),是二叉树中结点的个数。第二行给出其后序遍历序列。第三行给出其中…

使用OCC进行阵列操作

OCC中实现阵列操作,本质上计算出物体的位置,然后进行位置变换,复制出一个新的物体的过程,下列用直线的阵列和环形的阵列作为例子: 直线阵列:以一个在z轴正方向的直线向y轴方向阵列2个距离为5的对象 #inclu…

hcia datacom课程学习(2):telnet与ssh

telnetssh所属层应用层应用层所应用的传输层协议tcptcp功能远程连接远程连接默认端口2322安全性很低较高功能组件分布客户端、服务器端客户端、服务器端linux环境不自带自带windows环境 win7有客户端和服务器端,但需要手动打开。 win10只有客户端,也需要…

基于STM32G031LORA开发板的时间同步项目

一、前言 本项目采用淘宝购买的STM32G031开发板,板上预留了oled和LORA模块的IO,一次性买了四套,资料虽然质量不高,但是覆盖面挺广,有一定的学习价值。 实验目的是需要三个从机实现时间轴的一致,考虑到现有环…

鸿蒙原生应用元服务开发-WebGL网页图形库开发接口说明

一、场景介绍 WebGL主要帮助开发者在前端开发中完成图形图像的相关处理,比如绘制彩色图形等。目前该功能仅支持使用兼容JS的类Web开发范式开发。 二、接口说明 表1 WebGL主要接口列表 本文参考引用HarmonyOS官方开发文档,基于API9。

期货开户市场的风险在哪里?

期货市场的风险在哪里?强平和穿仓是什么? 期货市场是一个自带杠杆的市场,简单理解就是我们只需要用10W就能买到价值100万的商品。期货主要的风险来源于仓位风险和交割风险,仓位风险就是我们是采用满仓还是轻仓方式交易。比如我们…

32个关键字详解①(C语言)

目录 关键字分类: 第一个C程序 - 补充内容 变量的定义与声明 - 补充内容 变量的分类 - 补充内容 变量的作用域 - 补充内容 变量的生命周期 - 补充内容 auto 关键字 register 关键字 static 关键字 static 修饰变量: static修饰函数 sizeof 关键字 基本数…

docker私有仓库-harbor的搭建

docker 官方提供的私有仓库 registry,用起来虽然简单 ,但在管理的功能上存在不足。 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,harbor使用的是官方的docker registry(v2命名是distribution)服务去完成。harbor在docker di…

全排列+力扣

题目 题目链接 . - 力扣&#xff08;LeetCode&#xff09; 题目描述 代码实现 class Solution {vector<vector<int>> ret;vector<int> path;bool used[7]; public:vector<vector<int>> permute(vector<int>& nums) {_permute(nums…

C++_包装器

目录 1、包装器的用法 2、包装器的类型 3、包装器的作用 4、包装成员函数 5、bind&#xff08;绑定&#xff09; 5.1 bind的用法 5.2 bind减少参数个数 结语 前言&#xff1a; C11的包装器&#xff0c;总称为function包装器&#xff0c;而包装器又称适配器…

allegro PCB设计心得笔记(二) -- ERROR(SPMHUT-144): Illegal arc specification

使用Allegro PCB Editor设计PCB&#xff0c;其中使用了中文丝印&#xff0c;设计完成后&#xff0c;进行Tools -> Database Check&#xff0c;提示如下错误&#xff1a; 对PCB文件进行反复检查&#xff0c;也没有找到具体问题&#xff0c;但是删除中文丝印封装后&#xff0c…

vue3 uniapp 项目初始化集成配置【开箱即用】

https://gitee.com/charrie/vue3-uniapp-init 技术说明 采用vue3viteuniapp技术栈&#xff0c;setup语法糖编码方式引入unocss量子化样式引擎&#xff0c;动态css不用自己写样式&#xff0c;引用class即可&#xff0c;降低代码体积全局请求入口已封装&#xff0c;使用时自己封…