首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jar如何在使用它的web应用程序中传播漏洞?

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

Stack Overflow用户
提问于 2017-10-12 10:27:24
回答 1查看 690关注 0票数 12

我有一个受Security保护的Spring应用程序。生活似乎如此平静,直到我被迫做了一个静态的应用程序安全测试(SAST),并且这个工具抛出了许多安全问题。看看这里:

我已经浏览了所有的CVEs,并粗略地了解了这些漏洞。我有几个问题:

  1. 当像security这样的安全框架被集成在一起时,web应用程序如何容易受到这种攻击?
  2. 我是否可以忽略所有这些漏洞,因为Security可能对所有这些漏洞都有某种解决办法?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-18 08:07:43

来自弹簧安全手册

Security是一个功能强大且高度定制的身份验证和访问控制框架。它是保护基于Spring的应用程序的事实上的标准。

将spring安全性看作一个身份验证框架,它涵盖了安全难题的一部分。

作为一个例子,让我们看看OWASP十大应用程序安全风险中的#1:A1 - Injection

假设您使用jar访问SQL数据库(例如hibernate),并且它存在注入漏洞,那么您的应用程序也可能容易受到攻击。但是,即使hibernate没有任何安全漏洞,如果程序员将SQL查询连接在一起而没有正确地转义用户输入,应用程序也容易受到注入攻击。

Spring安全性并不能保护您的应用程序免受任何一种注入攻击。

如果一个jar存在漏洞,并且您正在调用易受攻击的方法/特性,那么您的应用程序也可能存在该漏洞,这在很大程度上取决于漏洞是什么、如何执行以及应用程序如何配置为使用jar。

快速查看另一个OWASP十大应用程序安全风险

A1-注入-不受弹簧安全的保护

A2-中断身份验证和会话管理- Spring安全性可以帮助管理其中的一些,但是配置的不正确的spring安全性将暴露这些安全性。

A3-跨站点脚本(XSS) -不受Spring安全性的保护

A4-不安全的直接对象引用-没有增加对Security的保护( Security为您提供了管理这一点的工具)

A5-安全错误配置-不受春季安全保护

A6敏感的数据公开- Spring安全性可以帮助解决这个问题,但是它也在很大程度上取决于您如何存储和管理数据(例如日志文件)。

A7-缺少函数级访问控制-如果访问控制被遗漏,Security无法帮助您,但是Spring安全性使添加这些操作变得很容易

A8-跨站点请求伪造(CSRF) - Spring安全性(取决于应用程序的配置方式)将帮助您,甚至为您管理此风险。

A9-使用已知漏洞的组件()--这是您在问题中列出的--没有对Security的保护

A10-未经验证的重定向和转发- Spring安全性可以用来管理这一点,但是它并不能保护您的应用程序不受此影响

在应用程序的STAT过程中找到的CVEs列表是A9的一个例子--使用具有已知漏洞的组件可以查看OWASP wiki获取更多信息

示例攻击场景 组件漏洞可以导致几乎任何类型的风险,从琐碎的恶意软件到针对特定组织的复杂恶意软件。组件几乎总是以应用程序的全部权限运行,因此任何组件的缺陷都可能很严重,2011年,下载了以下两个易受攻击的组件2200万次。

  • Apache身份验证旁路--通过提供身份令牌,攻击者可以使用完全权限调用任何web服务。(Apache是一个服务框架,不要与混淆。)
  • Spring远程代码执行--使用Spring中的表达式语言实现,攻击者可以执行任意代码,从而有效地接管服务器。

每个使用这两个易受攻击库的应用程序都容易受到攻击,因为应用程序用户可以直接访问这两个组件。在应用程序中使用更深层次的其他易受攻击的库可能更难利用。

从上面的最后一段中注意,组件(jar)越深,它就越难被利用,但是,这并不意味着一个确定的实体不能利用它们。

总之,Security是管理应用程序中的身份验证和访问控制的一个很好的工具,但它不是解决所有安全问题的灵丹妙药。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46707284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档