OWASP Top 10大漏洞简要介绍

0x00 前言

OWASP(开放式Web应用程序安全项目)的工具、文档、论坛和全球各地分会都是开放的,对所有致力于改进应用程序安全的人士开放,其最具权威的就是“10项最严重的Web 应用程序安全风险列表” ,总结了Web应用程序最可能、最常见、最危险的十大漏洞,是开发、测试、服务、咨询人员应知应会的知识。

A1:2017-注入

将不受信任的数据作为命令或查询的一部分发送到解析器时,会产生诸如SQL注入、NoSQL注入、OS注入和LDAP注入的注入缺陷。攻击者的恶意数据可以诱使解析器在没有适当授权的情况下执行非预期命令或访问数据。 

在这里插入图片描述

如何防止?

• 防止注入漏洞需要将数据与命令语句、查询语句分隔开来。
• 最佳选择是使用安全的API,完全避免使用解释器,或提供参数
化界面的接口,或迁移到ORM或实体框架。
• 注意:当参数化时,存储过程仍然可以引入SQL注入,如果
PL/SQL或T-SQL将查询和数据连接在一起,或者执行带有立即
执行或exec()的恶意数据。
• 使用正确的或“白名单”的具有恰当规范化的输入验证方法同样
会有助于防止注入攻击,但这不是一个完整的防御,因为许多应
用程序在输入中需要特殊字符,例如文本区域或移动应用程序的
API。 • 对于任何剩余的动态查询,可以使用该解释器的特定转义语法转
义特殊字符。OWASP的Java Encoder和类似的库提供了这样的
转义例程。
• 注意:SQL结构,比如:表名、列名等无法转义,因此用户提供
的结构名是非常危险的。这是编写软件中的一个常见问题。
• 在查询中使用LIMIT和其他SQL控件,以防止在SQL注入时大量
地泄露记录。

A2:2017-失效的身份认证

通过错误使用应用程序的身份认证和会话管理功能,攻击者能够破译密码、密钥或会话令牌,或者暂时或永久的冒充其他用户的身份。

在这里插入图片描述凭证填充
已知密码

如何防止?

• 在可能的情况下,实现多因素身份验证,以防止自动、凭证填充、
暴力破解和被盗凭据再利用攻击。
• 不要使用发送或部署默认的凭证,特别是管理员用户。
• 执行弱密码检查,例如测试新或变更的密码,以纠正“排名前
10000个弱密码” 列表。
• 将密码长度、复杂性和循环策略与NIST-800-63 B的指导方针的
5.1.1章节-记住秘密,或其他现代的基于证据的密码策略相一致。
• 确认注册、凭据恢复和API路径,通过对所有输出结果使用相同
的消息,用以抵御账户枚举攻击。
• 限制或逐渐延迟失败的登录尝试。记录所有失败信息并在凭据填
充、暴力破解或其他攻击被检测时提醒管理员。
• 使用服务器端安全的内置会话管理器,在登录后生成高度复杂的
新随机会话ID。会话ID不能在URL中,可以安全地存储和当登出、
闲置、绝对超时后使其失效。

A3:2017-敏感数据泄露

这个比较好理解,一般我们的敏感信息包括密码、财务数据、医疗数据等,由于web应用或者API未加密或不正确的保护敏感数据,这些数据极易遭到攻击者利用,攻击者可能使用这些数据来进行一些犯罪行为,因此,未加密的信息极易遭到破坏和利用,我们应该加强对敏感数据的保护,web应用应该在传输过程中数据、存储的数据以及和浏览器的交互时的数据进行加密,保证数据安全。

在这里插入图片描述

如何防止?

对一些需要加密的敏感数据,应该起码做到以下几点:
• 对系统处理、存储或传输的数据分类,并根据分类进行访问控制。
• 熟悉与敏感数据保护相关的法律和条例,并根据每项法规要求保
护敏感数据。
• 对于没必要存放的、重要的敏感数据,应当尽快清除,或者通过
PCI DSS标记或拦截。未存储的数据不能被窃取。
• 确保存储的所有敏感数据被加密。
• 确保使用了最新的、强大的标准算法或密码、参数、协议和密匙,
并且密钥管理到位。
• 确保传输过程中的数据被加密,如:使用TLS。确保数据加密被
强制执行,如:使用HTTP严格安全传输协议(HSTS )。
• 禁止缓存对包含敏感数据的响应。
• 确保使用密码专用算法存储密码,如:Argon2 、 scrypt 、
bcrypt 或者PBKDF2 。将工作因素(延迟因素)设置在可接受
范围。
• 单独验证每个安全配置项的有效性。

A4:2017-外部实体(XXE)

XXE 全称为XML External Entity attack 即XML(可扩展标记语言) 外部实体注入攻击,早期或配置错误的XML处理器评估了XML文件外部实体引用,攻击者可以利用这个漏洞窃取URI(统一资源标识符)文件处理器的内部文件和共享文件、监听内部扫描端口、执行远程代码和实施拒绝服务攻击。

在这里插入图片描述

如何防止?

开发人员培训是识别和减少XXE缺陷的关键,此外,防止XXE 缺
陷还需要:
• 尽可能使用简单的数据格式(如:JSON),避免对敏感数据进
行序列化。
• 及时修复或更新应用程序或底层操作系统使用的所有XML处理器
和库。同时,通过依赖项检测,将SOAP更新到1.2版本或更高
版本。
• 参考《 OWASP Cheat Sheet ‘XXE Prevention‘ 》,在应用程序
的所有XML解析器中禁用XML外部实体和DTD进程。
• 在服务器端实施积极的(“白名单”)输入验证、过滤和清理,
以防止在XML文档、标题或节点中出现恶意数据。
• 验证XML或XSL文件上传功能是否使用XSD验证或其他类似验证
方法来验证上传的XML文件。
• 尽管在许多集成环境中,手动代码审查是大型、复杂应用程序的
最佳选择,但是SAST 工具可以检测源代码中的XXE漏洞。
如果无法实现这些控制,请考虑使用虚拟修复程序、API安全网关
或Web应用程序防火墙( WAF )来检测、监控和防止XXE攻
击。

A5:2017-失效的访问控制

通过身份验证的用户,可以访问其他用户的相关信息,没有实施恰当的访问权限。攻击者可以利用这个漏洞去查看未授权的功能和数据,eg:访问用户的账户、敏感文件、获取和正常用户相同的权限等.

在这里插入图片描述

如何防止?

访问控制只有在受信服务器端代码或没有服务器的 API 中有效,
这样这样攻击者才无法修改访问控制检查或元数据。
• 除公有资源外,默认情况下拒绝访问。
• 使用一次性的访问控制机制,并在整个应用程序中不断重用它们,
包括最小化CORS使用。
• 建立访问控制模型以强制执行所有权记录,而不是接受用户创建、
读取、更新或删除的任何记录。
• 域访问控制对每个应用程序都是唯一的,但业务限制要求应由域
模型强制执行。
• 禁用 Web服务器目录列表,并确保文件元数据(如:git)不存
在于 Web的根目录中。
• 记录失败的访问控制,并在适当时向管理员告警(如:重复故
障)。
• 对API和控制器的访问进行速率限制,以最大限度地降低自动化
攻击工具的危害。
• 当用户注销后,服务器上的JWT令牌应失效。

A6:2017-安全配置错误

安全配置错误是比较常见的漏洞,由于操作者的不当配置(默认配置,临时配置,开源云存储,http标头配置,以及包含敏感信息的详细错误),导致攻击者可以利用这些配置获取到更高的权限,安全配置错误可以发生在各个层面,包含平台、web服务器、应用服务器、数据库、架构和代码。

在这里插入图片描述

如何防止?

应实施安全的安装过程,包括:
• 一个可以快速且易于部署在另一个锁定环境的可重复的加固过程。
开发、质量保证和生产环境都应该进行相同配置,并且,在每个
环境中使用不同的密码。这个过程应该是自动化的,以尽量减少
安装一个新安全环境的耗费。
• 搭建最小化平台,该平台不包含任何不必要的功能、组件、文档
和示例。移除或不安装不适用的功能和框架。
• 检查和修复安全配置项来适应最新的安全说明、更新和补丁,并
将其作为更新管理过程的一部分,(参见A9:2017-使用含有已
知漏洞的组件)。在检查过程中,应特别注意云存储权限(如:
S3桶权限)。
• 一个能在组件和用户间提供有效的分离和安全性的分段应用程
序架构,包括:分段、容器化和云安全组。
• 向客户端发送安全指令,如:安全标头。 • 在所有环境中能够进行正确安全配置和设置的自动化过程。

A7:2017-跨站脚本(xss)

xss攻击全称为跨站脚本攻击,当应用程序的新网页中包含不受信任的、未经恰当验证、转义的数据或可以使用HTML、JavaScript的浏览器API更新的现有网页时,就会出现xss漏洞,跨站脚本攻击是最普遍的web应用安全漏洞,甚至在某些安全平台都存在xss漏洞。xss会执行攻击者在浏览器中执行的脚本,并劫持用户会话,破坏网站或用户重定向到恶意站点,使用xss还可以执行拒绝服务攻击。

在这里插入图片描述

如何防止?

防止XSS需要将不可信数据与动态的浏览器内容区分开。这可以
通过如下步骤实现:
• 使用设计上就会自动编码来解决XSS问题的框架,如:Ruby 3.0 
或 React JS。了解每个框架的XSS保护的局限性,并适当地处
理未覆盖的用例。
• 为了避免反射式或存储式的XSS漏洞,最好的办法是根据HTML
输出的上下文(包括:主体、属性、JavaScript、CSS或URL)
对所有不可信的HTTP请求数据进行恰当的转义 。更多关于数据
转义技术的信息见:《OWASP Cheat Sheet ‘XSS Prevention’》 。• 在客户端修改浏览器文档时,为了避免DOM XSS攻击,最好的
选择是实施上下文敏感数据编码。如果这种情况不能避免,可以
采用《OWASP Cheat Sheet ‘DOM based XSS Prevention ‘》
描述的类似上下文敏感的转义技术应用于浏览器API。 • 使用内容安全策略(CSP)是对抗XSS的深度防御策略。如果
不存在可以通过本地文件放置恶意代码的其他漏洞(例如:路径
遍历覆盖和允许在网络中传输的易受攻击的库),则该策略是有
效的。

A8:2017-不安全的反序列化

不安全的反序列化可以导致远程代码执行、重放攻击、注入攻击或特权升级攻击

在这里插入图片描述

如何防止?

唯一安全的架构模式是不接受来自不受信源的序列化对象,或使
用只允许原始数据类型的序列化媒体。
如果上述不可能的话,考虑使用下述方法:
• 执行完整性检查,如:任何序列化对象的数字签名,以防止恶
意对象创建或数据篡改。
• 在创建对象之前强制执行严格的类型约束,因为代码通常被期
望成一组可定义的类。绕过这种技术的方法已经被证明,所以
完全依赖于它是不可取的。
• 如果可能,隔离运行那些在低特权环境中反序列化的代码。
• 记录反序列化的例外情况和失败信息,如:传入的类型不是预
期的类型,或者反序列处理引发的例外情况。
• 限制或监视来自于容器或服务器传入和传出的反序列化网络连
接。
• 监控反序列化,当用户持续进行反序列化时,对用户进行警告。

A9:2017-使用含有已知漏洞的组件

组件(eg:库、框架或其他软件模块)拥有应用程序相同的权限,如果应用程序中含有已知漏洞,攻击者可以利用漏洞获取数据或接管服务器。同时,使用这些组件会破坏应用程序防御,造成各种攻击产生严重的后果。

在这里插入图片描述

如何防止?

应该制定一个补丁管理流程:
• 移除不使用的依赖、不需要的功能、组件、文件和文档。
• 利用如 versions、DependencyCheck 、retire.js等工具来持续的
记录客户端和服务器端以及它们的依赖库的版本信息。持续监控
如CVE 和 NVD等是否发布已使用组件的漏洞信息,可以使用软
件分析工具来自动完成此功能。订阅关于使用组件安全漏洞的警
告邮件。
• 仅从官方渠道安全的获取组件,并使用签名机制来降低组件被篡
改或加入恶意漏洞的风险
• 监控那些不再维护或者不发布安全补丁的库和组件。如果不能打
补丁,可以考虑部署虚拟补丁来监控、检测或保护。
每个组织都应该制定相应的计划,对整个软件生命周期进行监控、
评审、升级或更改配置。

A10:2017-不足的日志记录和监控

不足的日志记录和监控,以及事件响应缺失或无效的集成,使攻击者能够进一步攻击系统、保持持续性的或攻击更多的系统,以及对数据的不当操作。

在这里插入图片描述

如何防止?

根据应用程序存储或处理的数据的风险:: • 确保所有登录、访问控制失败、输入验证失败能够被记录到日
志中去,并保留足够的用户上下文信息,以识别可疑或恶意帐
户,并为后期取证预留足够时间。
• 确保日志以一种能被集中日志管理解决方案使用的形式生成
• 确保高额交易有完整性控制的审计信息,以防止篡改或删除,
例如审计信息保存在只能进行记录增加的数据库表中。
• 建立有效的监控和告警机制,使可疑活动在可接受的时间内被
发现和应对。
• 建立或采取一个应急响应机制和恢复计划,例如:NIST 800-
61 rev 2或更新版本。

参考链接

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

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

相关文章

[ 攻防演练演示篇 ] 利用谷歌 0day 漏洞上线靶机

🍬 博主介绍 👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~ ✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 🎉点赞➕评论➕收藏 养成习…

OWASP top 10漏洞详解

一、写在前边 临近毕业,最近在找实习单位,看到好多招聘要求熟悉owasp top 10 安全漏洞,于是在经过一番查资料,终于有了大致的了解,为了加深印象,特意通过博客记录一下,也希望为有同样需求的同学…

多家大企业受GoAnywhere 0day 漏洞攻击影响

聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 越来越多的企业开始证实遭 Fortra 公司 GoAnywhere 文件转移管理 (MFT) 软件0day 漏洞 (CVE-2023-0669) 的攻击。 该漏洞在今年2月初被公开披露,一周后该漏洞的利用和补丁也发布…

JavaEE-网络编程

网络编程 网络模型概述 计算机网络: 计算机网络是指将地理位置不同的计算机及其外部部件,通过通信线路连接起来,在网络编程协议下,实现不同计算机之间的信息共享以及信息交流的计算机系统。 网络编程的目的: 传播…

Python基础必备知识:同步异步阻塞非阻塞!

一、状态介绍 Python资源共享群:484031800 在了解其他概念之前,我们首先要了解进程的几个状态。在程序运行的过程中,由于被操作系统的调度算法控制,程序会进入几个状态:就绪,运行和阻塞。 就绪(Ready)状态…

献给程序员们的诗

作者:年素清 来源:年素清 诗人 & 码农 码农的工作很忙碌,码农的生活很枯燥,码农很苦! 同为忙农的我苦中作乐,为了能够形象地描述出码农的生活工作乃至方方面面,我试着篡改了几首经典古诗词。…

餐饮行业消费市场---顾客满意度调查

一.调查主题: 一只酸奶牛(小寨赛格店)顾客满意度调查 二.调查目的 调查近期到店消费顾客对本店各项服务的满意度,主要了解不同群体对于店铺服务方面的体验情况,并参考顾客提出的建议,找出不足之处&#…

流量控制:停止-等待协议与连续ARQ协议

停止-等待协议 可靠通信三大机制:序号确认反馈超时重传机制 . 接收方收到重复帧有以下原因: 重复帧是由于发送方重发定时器超时,重发定时器超时的原因: 设定时间段数据帧出现比特差错,或网络延迟大确认差错或网络延…

Hello CTP(四)——CTP交易API

一、CTP交易API简介 1、CTP交易API简介 CThostFtdcTraderApi交易API接口包含CThostFtdcTraderApi和CThostFtdcTraderSpi,通过CThostFtdcTraderApi向CTP发送操作请求,通过CThostFtdcTraderSpi接收CTP操作响应。 2、CTP API交易流程 (1&…

VoIP之RTP/RTCP协议

在VoIP领域中,一般使用RTP作为媒体的传输协议。RTP(real-time transport protocol)由rfc3550定义(其中RFC1889已经过期)。 RTP提供了一种适用于应用在端到端之间传输音频、视频等实时数据的网络传输方式。RTP没有资源预留机制,不确保实时服务…

TTDP、TRDP协议

1、TTDP即列车拓扑发现协议。该协议允许网络交换机在网络拓扑结构发生改变后自动与其他网络设备进行协商,并将根据新的列车车厢的指令为网络设备分配一个IP地址。 2、TRDP 列车实时数据协议规定了TRDP-PD过程数据和TRDP-MD消息数据两种主要的通信模式,两…

通讯协议汇总

UART UART(Universal Asynchronous Receiver/Transmitter)是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。 物理拓扑 帧结构/数据传输形式# 起始位:先发一个逻辑0,表示传输字符的开始&#xf…

十六、停止等待协议

文章目录 1、为什么要有停止等待协议2、研究停等协议的前提3、应用停等协议的两种情况3.1 无差错的情况3.2 有差错的情况3.2.1 数据帧丢失或检测到帧出错3.2.2 ACK丢失3.2.3 ACK迟到 4、停等协议的性能分析THE END 1、为什么要有停止等待协议 \qquad 除了比特出差错&#xff0c…

获取实时股票行情通达信接口

获取实时股票行情通达信接口

今天给大家带来搜题公众号搭建教程(附赠搜题接口 还支持语音图片搜题)

今天给大家带来搜题公众号搭建教程(附赠搜题接口 还支持语音搜题) 下面带大家搭建搜题公众号 首先我们需要的材料: 1.有自己的微信公众号(已经注册好的,直接登录自己公众号即可) 注册公众号教程&#xff1a…

google搜索技巧——程序员推荐

文章目录 前言谷歌搜索语法指令用引号来查询一个确切的单词或短语OR查询排除特定网站标题搜索将搜索结果限制到特定网站查看某个地区内的相关信息将结果限制为特定的文件格式 小结 前言 在昨天使用Google搜索一个异常问题的时候,不经意间发现有如下的提示 参考如上…

Google 几种常见的高级搜索技巧

1、完全匹配搜素:“使用双引号” 2、模糊匹配:使用*代替 3、排除搜素:使用-排除 4、在特定的网站内搜索:使用 site:来搜索 5、特定文件类型搜索:使用filetype: 来搜索 6、限定在url中进行搜索:i…

百度、谷歌等搜索引擎高效搜索方法 —— 更快速搜索到你想要内容

一、常用搜索方法 1、限定标题 intitle 又被称为去广告搜索法,intitle命令,即in title(在标题里)返回的的结果是网页的标题包含该关键词。一般情况下搜索的关键词都会在标题里出现,使用intitle命令一般是在特殊需求下…

巴比特 | 元宇宙每日必读:传苹果将在6月开发者大会上发布混合现实头显,售价约三千美元,分析师预计今年出货量约为20万至30万部...

摘要:据腾讯科技报道,知情人士透露称,苹果公司预计将在6月份举行的开发者大会上发布其备受期待的混合现实头显,然而这款产品依然处于试验阶段,强推不成熟产品上市有违苹果的传统和规则。许多投资者质疑:消费…

iOS之适配苹果Universal Links 和升级友盟的QQ和微信分享艰难之路

安逸的日子总是那么短暂,刚上完线,唏嘘人生是那么短暂而又漫长,刚准备进入安逸圈,结果晴天霹雳 这特么是啥 ,我没动啥代码哇,瞬间感觉蛋蛋有微微的疼痛,经过测试只有新系统(iOS13.5)的微信才会出现这个 这肯定是友盟整什么幺蛾子了,打开文档一看 瞬间明白了什么 ,我现在用的…