Web 安全:OWASP TOP10 漏洞介绍
OWASP TOP 10漏洞是指由Open Web Application Security Project(OWASP)发布的十大最严重、
最普遍的Web应用程序安全漏洞。这些漏洞在当今的Web应用程序中非常普遍,而且具有很高的危害性。
因此被视为web应用程序安全领域必须认真防范和修复的关键问题。而且大家去应聘安全测试岗位或
有安全技能要求的软件测试岗位,熟悉OWASP TOP 10漏洞是必备要求。以下对于OWASP TOP 10 逐一介绍。

01 访问控制失效
访问控制失效漏洞是指由于程序开发时的缺陷,导致限制未生效,从而产生了失效的访问控制漏洞。攻击者可以
利用这些缺陷访问未经授权的功能或数据,例如:访问其他用户的账户、查看敏感文件、修改其他用户的数据、
更改访问权限等。
图:某酒店系统越权删除修改用户信息漏洞

02 加密机制失效
加密机制失效指的是在Web应用程序中,由于加密措施的不当或缺失,导致敏感数据在传输或存储过程中被泄露或遭受篡改的风险增加。这种漏洞通常与加密算法的选择、密钥管理、协议使用等方面的问题相关。
图:某深圳公司,员工将邮箱密码等敏感上传github,导致泄露

03 注入
注入漏洞(Injection)指的是攻击者通过向应用程序输入恶意数据,从而实现对应用程序的攻击和控制。这类漏洞主要是由于应用程序没有正确地验证和过滤用户输入的数据,导致恶意代码得以执行。从而进一步数据泄露、数据篡改、系统被控。
图:某银行某站存在注入漏洞,导致站点账号密码数据泄露


04 不安全设计
不安全设计(Insecure Design) 指的是在应用程序设计阶段就存在的安全缺陷,这些缺陷可能导致应用程序容易受到攻击。不安全设计通常与应用程序的架构、功能、数据处理和交互方式等方面有关。包括关键身份验证、访问控制、业务逻辑等。
图:某网站存在的支付业务漏洞,可通过篡改金融,1元购买保险。


05 安全配置错误
安全配置错误通常是由于不安全的默认配置、不完整的临时配置、开源云存储、错误的HTTP标头配置以及包含敏感信息的详细错误信息所造成的。因此,我们不仅需要对所有操作系统、框架、库和应用程序等进行安全配置,而且必须及时修补和升级它们。
图:某通分站服务配置不当可getshell

06 自带缺陷和过时的组件
自带缺陷和过时的组件是指Web应用程序中使用的第三方库、框架、插件或其他软件组件存在已知的安全漏洞,或者这些组件的版本过于陈旧,不再接收安全更新或修补程序。若被攻击者利用,可能会造成严重的数据丢失和服务器接管。同时,使用含有已知漏洞的组件的应用程序和API可能会破坏应用程序防御、造成各种攻击并产生严重影响。
图:某宝典使用WebView组件,该组件存在任意代码执行漏洞

07 身份识别和身份验证错误
通常,通过错误使用应用程序的身份认证和会话管理功能,攻击者能够破译密码、密钥或会话令牌,或者利用其他开发缺陷来暂时性或永久性冒充其他用户的身份。
在开发web应用程序时,开发人员往往只关注Web应用程序所需的功能,所以常常会建立自定义的认证和会话方案。但是要正确的实现这些方案却是很难的。结果就在退出、密码管理、超时、密码找回、账户更新等方面存在漏洞。
图:政府某公安系统,密码使用弱口令,容易被爆破

08 软件和数据完整性故障
软件和数据完整性故障与不能防止完整性违规的代码和基础设施有关。一个例子是应用程序依赖来自不受信任的来源、存储库和内容交付网络(CDN)的插件、库或模块。不安全的CI/CD管道可能会导致未经授权的访问、恶意代码或系统受损。最后,许多应用程序现在包括自动更新功能,其中更新在没有充分完整性验证的情况下被下载并应用于以前受信任的应用程序。攻击者可能会上传自己的更新以分发并在所有安装上运行。另一个例子是对象或数据被编码或序列化为攻击者可以看到和修改的结构,容易受到不安全的反序列化。
图:某证券系统存在反序列化命令执行漏洞

09 不足的日志记录和监控
“安全日志和监控故障”是指当安全日志和监控机制未能正确实施或配置时,导致无法有效检测和响应安全事件的风险。这类漏洞可能导致组织无法及时发现和应对潜在的安全威胁。
图:网络日志的重要性

10 服务端请求伪造
服务端请求伪造(Server-Side Request Forgery,SSRF)大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址过过滤和限制。攻击者利用此漏洞可诱使服务器向内部系统或不受信任的系统发起请求,从而可能泄露敏感信息或执行未授权的操作。
图:某博SSRF漏洞


Web 安全:OWASP TOP10 漏洞介绍的更多相关文章
- [原创]解读2017 OWASP Top10漏洞体系(含接口安全)
2017年4月初,OWASP发布了关于Top10的征求意见版. 争议最大的是A7攻击检测与防范不足. 但我主要是按照日常的渗透漏洞进行解读分析的. 解读完毕后,首发t00ls原创文章. https:/ ...
- WEB文件上传漏洞介绍解决办法
引用:http://blog.csdn.net/kobejayandy/article/details/35861499 问题: -1. 上传文件WEB脚本语言,服务器的WEB容器解释并执行了用户上传 ...
- 【OWASP TOP10】2021年常见web安全漏洞TOP10排行
[2021]常见web安全漏洞TOP10排行 应用程序安全风险 攻击者可以通过应用程序中许多的不同的路径方式去危害企业业务.每种路径方法都代表了一种风险,这些风险都值得关注. 什么是 OWASP TO ...
- web安全之跨站脚本漏洞(XSS)
XSS(跨站脚本)概述以及pikachu上的实验操作 Cross-Site Scripting 简称为“CSS”,为避免与前端叠成样式表的缩写"CSS"冲突,故又称XSS. XSS ...
- ASP.NET Core Web开发学习笔记-1介绍篇
ASP.NET Core Web开发学习笔记-1介绍篇 给大家说声报歉,从2012年个人情感破裂的那一天,本人的51CTO,CnBlogs,Csdn,QQ,Weboo就再也没有更新过.踏实的生活(曾辞 ...
- Web Service单元测试工具实例介绍之SoapUI
原文 Web Service单元测试工具实例介绍之SoapUI SoapUI是当前比较简单实用的开源Web Service测试工具,提供桌面应用程序和IDE插件程序两种使用方式.能够快速构建项目和组 ...
- web端常见安全漏洞测试结果分析-- appscan
基于appscan测试结果分析: 一.XSS跨站脚本 指的是攻击者往Web页面里插入恶意html代码,通常是JavaScript编写的恶意代码,当用户浏览该页之时,嵌入其中Web里面的html代码会被 ...
- 第三百二十四节,web爬虫,scrapy模块介绍与使用
第三百二十四节,web爬虫,scrapy模块介绍与使用 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中.其最初是为了 ...
- 通过混合编程分析的方法和机器学习预测Web应用程序的漏洞
通过混合编程分析的方法和机器学习预测Web应用程序的漏洞 由于时间和资源的限制,web软件工程师需要支持识别出有漏洞的代码.一个实用的方法用来预测漏洞代码可以提高他们安全审计的工作效率.在这篇文章中, ...
- web前后端分离漏洞分析防御
web前后端分离漏洞分析防御 漏洞分析,主要漏洞有 一.跨站脚本攻击XSS 程序 + 数据 = 结果:攻击后,数据夹杂一部分程序(执行代码),导致结果改变: 1.XSS攻击注入点 (a):HTML节点 ...
随机推荐
- 海康iSC综合安防平台-视频web插件调试
综合安防管理平台 视频WEB插件 1.demo_window_simple_playback.html.demo_window_simple_preview.html为简化版demo,可在此基础上开发 ...
- MySQL 字段截取拼接
@ 目录 前言 需求: 拼接函数: 截取函数: 总结 前言 请各大网友尊重本人原创知识分享,谨记本人博客:南国以南i. 提示:以下是本篇文章正文内容,下面案例可供参考 需求: 将数据库中的某一个字段的 ...
- Windows Server 2022 NTP服务器
一.配置NTP服务器 配置NTP服务器,为客户端提供时间同步服务. 如果计算机是Active Directory域控制器,则NTP服务器功能已自动启动. 因此,下面的示例是计算机在工作组环境中启用NT ...
- Vue cli使用Element UI
当前的测试环境如下: ---- 新版的@vue/cli ---- Vue2.x版本 第一步:安装Element UI npm i element-ui -S 第二步:引入Element UI 在mai ...
- Qt-FFmpeg开发-视频播放(4)
音视频/FFmpeg #Qt Qt-FFmpeg开发-视频播放[软解码 + OpenGL显示YUV420P图像] 目录 音视频/FFmpeg #Qt Qt-FFmpeg开发-视频播放[软解码 + Op ...
- 《iOS面试之道》-勘误2
一.如何保证NSTimer不受Runloop的影响,准时触发 书中提到两种方案, 一种是改变timer加入到runloop中的Mode,为CommonModes不受Runloop的Mode影响 第二种 ...
- long数据类型跨平台问题
源代码 #include <iostream> int main() { std::cout << "size of long : " << s ...
- 关于正在开发中的DjangoStarter v3版本
前言 最近做的这个项目大量使用了 python 及其相关的生态,因此自然而然选择了我的 DjangoStarter 作为后端框架 之前 v2 版本是用 RestFramework 做接口的,后面我试用 ...
- Java实际工作里用到的几种加密方式
1.Base64加密 最简单的加密方式,甚至可以说不是加密,只是一种用64个字符表示任意二进制数据的方法.Base64编码原理是将输入字符串按字节切分,取得每个字节对应的二进制值(若不足8比特则高位补 ...
- 为什么说 Mybatis 是半自动 ORM 映射工具?它与全自动的区别在哪里?
Hibernate 属于全自动 ORM 映射工具,使用 Hibernate 查询关联对象或者关联集合对象时,可以根据对象关系模型直接获取,所以它是全自动的.而 Mybatis 在查询关联对象或关联集合 ...