前言:
关注网络安全的人都知道,OWASP Top10是每一位渗透测试人员都必须要深入了解和学习的.今天我就给大家简单聊聊.如果大家喜欢的话,后续也会给大家详细更新每一种常见漏洞的原因,场景,以及防护手段.有需要的可以点赞关注一下,免得下次找不到啦!
OWASP Top10是什么?
首先介绍下OWASP,开放式Web应用程序安全项目(OWASP,Open Web Application Security Project)是一个非营利组织,不附属于任何企业或财团,它提供有关计算机和互联网应用程序的公正、实际、有成本效益的信息。其目的是协助个人、企业和机构来发现和使用可信赖软件。
OWASP项目最具权威的就是其“十大安全漏洞列表”(OWASPTop 10),OWASP Top 10不是官方文档或标准,而只是一个被广泛采用的意识文档,被用来分类网络安全漏洞的严重程度,目前被许多漏洞奖励平台和企业安全团队评估错误报告。这个列表总结了Web应用程序最可能、最常见、最危险的十大漏洞,可以帮助IT公司和开发团队规范应用程序开发流程和测试流程,提高Web产品的安全性。
A1 注入injection
将不受信任的数据作为命令或查询的一部分发送到解析器时,会产生诸如SQL注入、NoSQL注入、OS注入和LDAP注入的注入缺陷。攻击者的恶意数据可以诱使解析器在没有适当授权的情况下执行非预期命令或访问数据。
危害:注入可以导致数据丢失或被破坏,缺乏可审计性或拒绝服务。注入漏洞有时甚至可导致完全接管主机
常见的注入
- sql注入
- –os-shell
- LDAP(轻量目录访问协议)
- xpath(XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言)
- HQL注入
如何防范
1.使用安全的API,避免使用解释器
2.对输入的特殊的字符进行ESCAPE转义处理
例子:LIKE ‘%M%’ ESCAPE ‘M’
使用ESCAPE关键字定义了转义字符“M”,告诉DBMS将搜索字符串“%M%”中的第二个百分符(%)作为实际值,而不是通配符
3.使用白名单来规范化的输入验证方法
A2 失效的身份认证
通常,通过错误使用应用程序的身份认证和会话管理功能,攻击者能够破译密码、密钥或会话令牌,或者利用其它开发缺陷来暂时性或永久性冒充其他用户的身份。
危害:这些漏洞可能导致部分甚至全部账户遭受攻击,一旦攻击成功,攻击者就能执行合法的任何操作
如何防范
- 使用内置的会话管理功能
- 通过认证的问候
- 使用单一的入口点
- 确保在一开始登录SSL保护的网页
A3 敏感数据泄露
许多Web应用程序和API都无法正确保护敏感数据,例如:财务数据、医疗数据和PII数据。攻击者可以通过窃取或修改未加密的数据来实施信用卡诈骗、身份盗窃或其他犯罪行为。未加密的敏感数据容易受到破坏,因此,我们需要对敏感数据加密,这些数据包括:传输过程中的数据、存储的数据以及浏览器的交互数据。
A4 XML外部实体(XXE)
XXE 全称为XML External Entity attack 即XML(可扩展标记语言) 外部实体注入攻击,
许多较早的或配置错误的XML处理器评估了XML文件中的外部实体引用。攻击者可以利用外部实体窃取使用URI文件处理器的内部文件和共享文件、监听内部扫描端口、执行远程代码和实施拒绝服务攻击。
A5 失效的访问控制
未对通过身份验证的用户实施恰当的访问控制。攻击者可以利用这些缺陷访问未经授权的功能或数据,例如:访问其他用户的帐户、查看敏感文件、修改其他用户的数据、更改访问权限等。
危害:这种漏洞可以损坏参数所引用的所有数据
如何防范
1.使用基于用户或会话的间接对象访问,这样可防止攻击者直接攻击为授权资源
2.访问检查:对任何来自不受信源所使用的所有对象进行访问控制检查
3.避免在url或网页中直接引用内部文件名或数据库关键字
4.验证用户输入和url请求,拒绝包含./ …/的请求
A6 安全配置错误
安全配置错误是最常见的安全问题,这通常是由于不安全的默认配置、不完整的临时配置、开源云存储、错误的HTTP 标头配置以及包含敏感信息的详细错误信息所造成的。因此,我们不仅需要对所有的操作系统、框架、库和应用程序进行安全配置,而且必须及时修补和升级它们。
危害:系统可能在未知的情况下被完全攻破,用户数据可能随着时间被全部盗走或篡改。甚至导致整个系统被完全破坏
如何防范:
1.自动化安装部署
2.及时了解并部署每个环节的软件更新和补丁信息
3.实施漏洞扫描和安全审计
A7 跨站脚本(xss)
xss攻击全称为跨站脚本攻击,
当应用程序的新网页中包含不受信任的、未经恰当验证或转义的数据时,或者使用可以创建HTML或JavaScript 的浏览器API 更新现有的网页时,就会出现XSS 缺陷。XSS 让攻击者能够在受害者的浏览器中执行脚本,并劫持用户会话、破坏网站或将用户重定向到恶意站点。
危害:攻击者在受害者浏览器中执行脚本以劫持用户会话,插入恶意内容,重定向用户,使用恶意软件劫持用户浏览器等
种类:存储型,反射型,DOM型
如何防范
1.验证输入
2.编码输出(用来确保输入的字符被视为数据,而不是作为html被浏览器所解析)
A8 不安全的反序列化
不安全的反序列化会导致远程代码执行。即使反序列化缺陷不会导致远程代码执行,攻击者也可以利用它们来执行攻击,包括:重播攻击、注入攻击和特权升级攻击。
A9 使用含有已知漏洞的组件
组件(例如:库、框架和其他软件模块)拥有和应用程序相同的权限。如果应用程序中含有已知漏洞的组件被攻击者利用,可能会造成严重的数据丢失或服务器接管。同时,使用含有已知漏洞的组件的应用程序和API可能会破坏应用程序防御、造成各种攻击并产生严重影响。
如何防范
1.识别正在使用的组件和版本,包括所有的依赖
2.更新组件或引用的库文件到最新
3.建立安全策略来管理组件的使用
A10 不足的日志记录和监控
这个和等保有一定的关系,不作介绍
不足的日志记录和监控,以及事件响应缺失或无效的集成,使攻击者能够进一步攻击系统、保持持续性或转向更多系统,以及篡改、提取或销毁数据。大多数缺陷研究显示,缺陷被检测出的时间超过200天,且通常通过外部检测方检测,而不是通过内部流程或监控检测。
其它相关安全标准和项目的简要介绍:
- OWASP Top 10:由开放 Web 应用程序安全项目(OWASP)建立的,是一个非营利组织,提供关于 Web 应用程序安全的文章和其他信息。OWASP Top 10 列出了10个最关键的 Web 应用程序安全漏洞,旨在教育公司了解他们需要缓解以保护其 Web 应用程序的漏洞和关键安全风险。
- CWE/SANS Top 25 Most Dangerous Software Errors:CWE(Common Weakness Enumeration)列出了25个最危险的软件错误,这些错误是导致可利用漏洞的常见软件弱点。SANS Institute 提供了这些错误的详细描述以及减轻和避免它们的权威指导。
- NIST SP 800-53:这是由美国国家标准与技术研究院(NIST)发布的特别出版物,提供了信息系统和组织的安全和隐私控制目录,以保护组织运营和资产免受多样化威胁和风险的侵害。
- ISO/IEC 27001 和 ISO/IEC 27002:ISO/IEC 27001 规定了建立信息安全管理系统(ISMS)的要求,而 ISO/IEC 27002 提供了可以应用于 ISMS 的详细最佳实践和控制措施。
- PCI DSS(Payment Card Industry Data Security Standard):支付卡行业数据安全标准,包括12个主要要求,反映了领先的安全实践,旨在保护支付卡数据安全。
- Microsoft Secure Development Lifecycle (SDL):微软安全开发生命周期是一个全面的过程,用于设计、开发、采购、部署和管理安全软件,包括创建威胁模型以识别和评分潜在威胁。
- BSIMM(Building Security In Maturity Model):软件安全构建成熟度模型,用于评估企业自身的软件安全实践、判断行业所处位置以及明确软件安全工作的可能趋势和思路。
- ASVS(OWASP Application Security Verification Standard):OWASP应用安全验证标准,提供了一个验证应用程序安全性的框架。
- CSA(Cloud Security Alliance)Cloud Controls Matrix:云安全联盟的云控制矩阵,提供了一个云安全控制框架,帮助组织管理和保护云中的数据。
- CIS Controls(Center for Internet Security Controls):互联网安全控制中心的控制措施,提供了一套旨在减少恶意攻击广度和深度的安全控制项。
-
SAFECode(Software Assurance Forum for Excellence in Code):卓越代码软件保证论坛,提供了行业最佳实践和实施安全软件开发的实用建议。
============ 欢迎各位老板打赏~ ===========
与本文相关的文章
- · k8s搭建测试kafka
- · 部署k3s+KubeSphere
- · es+filebeat+elastalert2实现异常邮件提醒
- · linux快速搭建轻量级efk日志系统
- · macOS Charles 4.x版本的安装及使用(含破解激活)
- · Emby破解教程(1):Emby.Server.Implementations.dll 修改
- · navicat premium15中文破解版 v15.0.23 32/64位
- · openwrt hosts
- · Unity Pro v2019.2.6f1 for Mac 永久激活版
- · 2021年可用的Microsoft login hosts
- · docker单节点启动consul
- · 一行代码安装ssr