jar如何在使用它的Web应用程序中传播漏洞?

jar如何在使用它的Web应用程序中传播漏洞?

问题描述:

我有一个Spring MVC Web应用程序受Spring Security保护。生活似乎很平静,直到我*做了Static Application Security Testing (SAST),该工具抛出了一堆安全问题。看看这里:jar如何在使用它的Web应用程序中传播漏洞?

enter image description here

我已经完成了所有的CVE了,得到了有关漏洞的一个画面粗糙。我有几个查询:

  1. 当一个安全框架(如Spring Security)与它整合在一起时,web应用程序如何容易受到这种利用?

  2. 由于Spring Security可能对所有这些漏洞采取某种解决方法,我可以忽略所有这些漏洞吗?

+0

为什么你觉得呢?由于大多数罐子都在全球范围内使用,所以这将是一个疯狂的猜测。回滚是因为我想指出我使用的技术。 –

+2

还有就是[文件]中的任何内容(https://docs.spring.io/spring-security/site/docs/current/reference/html/index.html),这是支持你的胡乱猜测。 AFAIK你的第一个问题的答案是:否,所以你的第二个问题是没有意义的,因为Spring Security不处理这种攻击。 – dur

+0

出于好奇,你使用了哪个工具? – holmis83

Spring Security manual

的Spring Security是一个强大和高度可定制的认证 和访问控制框架。这是保护 基于Spring的应用程序的事实标准。

认为春季安全作为一个认证框架,它涵盖了一个安全难题。

举个例子,让我们来看看#的OWASP十大应用安全风险1:A1 - 注塑
假设你用一个罐子来访问SQL数据库(例如Hibernate),它有一个注入漏洞,那么你的应用程序也可能很脆弱。但是,即使hibernate没有任何安全漏洞,如果程序员将SQL查询连接在一起而没有正确地转义用户输入,应用程序也容易受到注入攻击。
Spring安全并不能保护您的应用程序免受这些注入攻击。

如果一个jar有一个漏洞,并且您正在调用易受攻击的方法/功能,那么您的应用程序也可能具有该漏洞,这取决于该漏洞是什么以及它的执行方式以及您的应用程序如何配置为使用罐。

对于一个快速浏览一下在其他OWASP Top 10 Application Security Risks
A1-注射 - 使用Spring Security
A2残破的认证和会话管理无保护 - 春季安全可帮助管理其中的一些,然而错过配置的弹簧安全性将揭露这些。
A3-跨站点脚本(XSS) - 使用Spring Security没有保护
A4-不安全的直接对象引用 - 使用Spring Security没有额外的保护(春季安全让你管理这个工具)
A5-安全配置错误 - 使用Spring Security没有保护
A6敏感数据泄露 - 春季安全可协助执行但它也取决于你如何存储大量和管理您的数据(例如日志文件)
A7 - 隐藏功能级别访问s控制 - 如果访问控制已被遗漏,Spring Security不能帮助您,但弹簧安全性使它很容易添加这些
A8-跨站点请求伪造(CSRF) - Spring Security您的应用程序已配置)将帮助您甚至为您管理此风险。
A9-利用与已知的漏洞组件 - 这是你已经在你的问题中列出的CVE的 - 使用Spring Security
A10-未经验证的重定向没有保护和前锋 - 春季安全可用于管理该但是它不“T保护这个应用程序开箱

应用程序的STAT过程中发现的CVE列表的是看看在OWASP wiki for more information已知漏洞A9-使用组件的一个例子。

攻击案例

组件的漏洞可能导致几乎任何类型的风险 可以想象的,从最简单到复杂的恶意软件旨在 瞄准特定组织。组件几乎总是与 运行应用程序的完全权限,所以在任何组件缺陷可能 严重,下面的两个易损部件是在2011年

  • 的Apache CXF认证绕过下载 22米倍 - 由于没有提供身份令牌,攻击者可以调用任何具有完整 权限的Web服务。 (Apache CXF是一个服务框架,不要将 与Apache Application Server混淆。)
  • Spring远程执行代码 - 滥用Spring中的表达式语言实现允许攻击者执行任意代码, 有效接管服务器。

使用这两种弱势库的各个应用 容易受到攻击的这两个组件都是通过应用程序用户直接访问 。其他易受攻击的库,在应用程序中使用较深的库,可能难以利用。

从上面的段落可以看出,组件(jar)越深越难利用,但这并不意味着确定的实体不能利用它们。

综上所述,春季安全是在您的应用程序管理认证和访问控制一个伟大的工具,但它不是灵丹妙药来解决所有的安全问题。