首页 > 编程语言 >Web 安全:OWASP TOP10 漏洞介绍

Web 安全:OWASP TOP10 漏洞介绍

时间:2024-07-08 20:09:22浏览次数:22  
标签:Web 安全 TOP10 应用程序 OWASP 漏洞 攻击者

 

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,安全,TOP10,应用程序,OWASP,漏洞,攻击者
From: https://www.cnblogs.com/zhuuque23/p/18290630

相关文章

  • JavaWeb__HTML&CSS
    目录一、HTML1、网页的组成部分2、HTML文件的书写规范3.HTML标签的介绍4、标签的语法5、常用标签介绍二、CSS1、CSS技术介绍2、CSS语法规则3、CSS和HTML的结合方式3.1、行内式3.2、内嵌式3.3、外部样式表4、CSS选择器4.1、标签名选择器4.2、id选择器4.3、class选择......
  • 详解Web应用安全系列(9)点击劫持
    点击劫持(Clickjacking)漏洞,也被称为界面伪装攻击(UIRedressAttack)或UI覆盖攻击,是一种利用视觉欺骗手段进行的网络攻击方式。这种攻击方式通过技术手段欺骗用户点击他们本没有打算点击的位置,从而达到攻击者的目的。一、点击劫持的原理点击劫持攻击主要利用了HTML中的<iframe>标......
  • web前端热门面试题一
    JavaScript中的数据类型有哪些?并谈谈它们在存储上的差别。JavaScript中的数据类型及存储差别数据类型JavaScript中的数据类型主要可以分为两大类:基本数据类型(也称为原始数据类型)和引用数据类型。具体分类如下:基本数据类型Number:数字类型,包括整数和浮点数。JavaScript内......
  • go 使用websocket
    packagechatimport( "encoding/json" "github.com/gorilla/websocket" "github.com/zeromicro/go-zero/core/logx" "log" "net/http" "sync")typeClientstruct{ conn*websocket.Conn......
  • 一个开源的、独立的、可自托管的评论系统,专为现代Web平台设计
    大家好,今天给大家分享的是一个开源的、独立的、可自托管的评论系统,专为现代Web平台设计。Remark42是一个自托管的、轻量级的、简单的(但功能强大的)评论引擎,它不会监视用户。它可以嵌入到博客、文章或任何其他读者添加评论的地方。项目介绍Remark42提供多种登录选项,包括通过G......
  • iOS开发-WKWebView的介绍与基本使用
    WKWebView是iOS开发中用于显示网页内容的组件,它是在iOS8中引入的,作为UIWebView的替代品。WKWebView提供了更高的性能和更多的功能,它是基于WebKit引擎的,这也是Safari浏览器所使用的引擎。主要特性性能提升:相比于老旧的UIWebView,WKWebView在性能上有显著提升,包括......
  • WebOffice在线编微软Offfice,并以二进制流的形式打开Word文档
    在日常办公场景中,我们经常会遇到这种场景:我们的合同管理系统的各种Word,excel,ppt数据都是以二进制数组的形式存储在数据库中,如何从数据库中读取二进制数据,以二进制数据作为参数,然后加载到浏览器的Office窗口,实现在线编辑Office的功能呢?猿大师办公助手是猿大师旗下的一款在浏览器......
  • Web前端工程师修炼之道
    代码和PDF等:GitHub-guozhe1992/readWeb设计基础:介绍Web设计的核心概念和基本原则,包括网页的构成元素、页面布局、色彩搭配等,帮助读者建立对Web设计的整体认识。HTML基础:详细讲解HTML(超文本标记语言)的基本语法和常用标签,以及如何使用HTML构建网页结构和内容。CSS样式设计:介......
  • [CISCN2019 华北赛区 Day1 Web2]ikun
    进入题目发现找到lv6查看源码发现用lv标志点击下一页发现url参数page写脚本importrequestsforiinrange(500):url="http://248e4e18-a7a1-4bb1-adc1-e3a177974773.node4.buuoj.cn:81/shop?page={}".format(i)reponse=requests.get(url)if"lv6.png"inreponse.tex......
  • Redis中间件与Web中间件
    易混淆概念辨析在不同的上下文中,“Redis中间件”可以有不同的含义,这可能导致一些混淆。让我们来分解一下:Web中间件与消息中间件的区别:Web中间件:在ASP.NETCore(或类似框架)中,中间件是指处理HTTP请求管道的组件,例如处理请求、认证、日志记录等。这些中间件按顺序构成一个请求......